NOJ 1030 求最大公约数
来源:互联网 发布:尔雅网络课程从霍金 编辑:程序博客网 时间:2024/05/16 12:26
2016.10.14
【题目描述】
1030.求最大公约数
时限:1000ms 内存限制:10000K 总时限:3000ms
描述
给你两个正整数a、b,请你编写程序求出它们最大公约数,并输出这个数
输入
两个正整数a、b
输出
输出最大公约数(以回车结束)
输入样例
24 36
输出样例
12
【解题思路】
欧几里得算法求gcd(greatest common divisor)基于这个定理:
两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。
证明:
a = kb + r
r = a mod b
若d为a和b的公因数,则d|a,d|b
而r = a - kb,两边同时除以d,r/d=a/d-kb/d=m,因此d|r
因此d也是(b,a mod b)的公约数
因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也 是一样的。
【代码实现】
# include <stdio.h>int gcd(int a,int b){ return b ? gcd(b, a%b) : a;}int main(void){ int a,b; scanf("%d%d", &a, &b); printf("%d\n", gcd(a,b)); return 0;}
【心得体会】
0 0
- NOJ 1030 求最大公约数
- 刷题第七天:南邮NOJ【1015求最大公约数和最小公倍数】
- 【1030】求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- 求最大公约数
- [js点滴(转)]JavaScript中的this陷阱的最全收集--没有之一
- ubuntu14.04删除内核之后重新安装
- Oracle不能远程连接
- JavaScript中的this关键字,面向对象编程
- eclipse web项目用maven打war包丢失.xml文件,丢失.properties文件
- NOJ 1030 求最大公约数
- STL容器——优先队列
- Volatile关键字
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
- VMware WorkStation网络连接方式
- Compiling Swift source files
- Frog Jump - leetcode 403号题目个人题解
- 1003. 我要通过!(20)
- 免费技术资料下载