题目描述
输入两个正整数,求其最大公约数。
输入
测试数据有多组,每组输入两个正整数。
输出
对于每组输入,请输出其最大公约数。
样例输入
49 14
样例输出
7
提示 [+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
来源
2011年哈尔滨工业大学计算机研究生机试真题
/********************************* * 日期:2013-3-4 * 作者:SJF0115 * 题号: 天勤OJ 题目1049: 最大公约数 * 来源:http://acmclub.com/problem.php?id=1049 * 结果:AC * 来源:2011年哈尔滨工业大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> int GCD(int a,int b) { //如果a < b if(a < b){ return GCD(b,a); } if(b == 0){ return a; } else{ return GCD(a - b,b); } } int main(){ int a,b; while(scanf("%d %d",&a,&b) != EOF){ printf("%d\n",GCD(a,b)); } return 0; }
/********************************* * 日期:2013-3-4 * 作者:SJF0115 * 题号: 天勤OJ 题目1049: 最大公约数 * 来源:http://acmclub.com/problem.php?id=1049 * 结果:AC * 来源:2011年哈尔滨工业大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> //递归形式 int GCD(int a,int b) { if(b == 0){ return a; } else{ //a,b和b,a%b有相同的最大公约数 return GCD(b,a%b); } } int main(){ int a,b; while(scanf("%d %d",&a,&b) != EOF){ printf("%d\n",GCD(a,b)); } return 0; }
/********************************* * 日期:2013-3-4 * 作者:SJF0115 * 题号: 天勤OJ 题目1049: 最大公约数 * 来源:http://acmclub.com/problem.php?id=1049 * 结果:AC * 来源:2011年哈尔滨工业大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> //判断奇偶性 int IsEvenOdd(int n){ if(n % 2 == 0){ return 1; } else{ return 0; } } int GCD(int a,int b) { //如果a < b if(a < b){ return GCD(b,a); } if(b == 0){ return a; } //若x,y都为偶数 if(IsEvenOdd(a) == 1 && IsEvenOdd(b) == 1){ return 2 * GCD(a>>1,b>>1); } //若x,y都为奇数 else if(IsEvenOdd(a) == 0 && IsEvenOdd(b) == 0){ return GCD(b,a-b); } //若x是偶数y是奇数 else if(IsEvenOdd(a) == 1 && IsEvenOdd(b) == 0){ return GCD(a>>1,b); } //若x是奇数y是偶数 else{ return GCD(a,b>>1); } } int main(){ int a,b; while(scanf("%d %d",&a,&b) != EOF){ printf("%d\n",GCD(a,b)); } return 0; }
具体解析详见:编程之美读书笔记(5)最大公约数
相关推荐
最大公约数是指两个或多个整数共有的约数中最大的一个。 #### 应用场景: - 数学计算:在数学中经常需要对分数进行化简,此时就需要找到分子分母的最大公约数。 - 编程算法:在计算机编程中,最大公约数常常用于...
2.编写两个函数,分别求两个整数的最大公约数和最小公倍数
- 求最大公约数的方法包括分解质因数和短除法。例如,通过分解质因数75=3×5×5,60=2×2×3×5,可以发现75和60的最大公约数是3×5=15。 4. **应用举例**: - 在裁剪纸张的问题中,要将长方形纸裁成正方形且无...
例如,4和6的最大公因数是2,因为4和6都可以被2整除,且2是它们的最大公约数。 4. 判断题: - 互质的两个数不一定都是质数,如4和5互质,但4不是质数。 - 两个不同的奇数可能是互质的,但不是一定,例如9和15不是...
1. **最大公约数(GCD)**:最大公约数是两个或多个非零整数共有的最大正因数。对于给定的两个整数a和b,如果存在一个正整数c,使得a、b都能被c整除,且没有更大的正整数有此性质,那么c就是a和b的最大公约数。在...
### 对求最大公约数进行白盒测试的知识点详解 #### 实验目的 - **掌握静态白盒测试方法及一般要求**:了解如何通过分析源代码结构来发现软件缺陷,包括但不限于代码审查、符号执行等技术。 - **掌握白盒测试用例的...
此外,除了欧几里得算法,还有其他方法可以求解最大公约数,如辗转相除法(也叫更相减损法)、质因数分解法等。每种方法都有其适用场景和效率差异,理解这些算法的原理有助于我们在实际问题中做出最佳选择。 在实际...
练习题是提高数学技能的有效手段,尤其是在学习最大公因数时,通过实际操作题目,学生可以加深对概念的理解,并学会如何应用到不同类型的数学问题中。在《找最大公因数练习题及答案精选.doc》文档中,精选的习题不仅...
最大公约数是指两个或多个非零整数共有的最大正因数。在C语言中,可以使用辗转相除法(欧几里得算法)或更相减损法来求解。辗转相除法通过不断用较大的数除以较小的数,然后取余数,直至余数为0,最后的除数就是...
此外,本资源还提供了一些实际应用题目,例如,排队问题、 vòng围成一圈的问题等,这些问题可以帮助学生更好地理解公因数和最大公因数的应用价值。 本资源提供了一些有价值的练习题,可以帮助学生更好地理解和掌握...
从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。 输入 输入包括一行。 两个以空格分开的正整数。 输出 两个整数的最小公倍数和最大公约数。 样例输入 6 8 样例输出 24 2
4. **课后题答案**:文件中包含的“动动脑”题目可能是一些与最大公约数相关的实践问题,例如“第43课 最大公约数(完整)02 动动脑 第1题.cpp”等,这些题目可能是对理论知识的应用检验,而对应的解答文件可以帮助...
在编程领域,最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是基本的数论概念,它们在处理整数运算时经常被用到。在这个C语言的例子中,我们看到如何编写一个程序来计算两...
C语言求最大公约数和最小公倍数算法总结 C语言中求最大公约数和最小公倍数的各种算法总结,包括辗转相除法和穷举法等。辗转相除法又名欧几里德法,是一种经典的算法,用于计算两个正整数的最大公约数和最小公倍数。...
Java练习题:输入两个正整数m和n,求其最大公因数和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍 数。
有一个文件,其中含有一些整数对,求出这些整数对的最大公约数,并对这些最大公约数按从小到达的顺序排序输出
- 如题目中的练习,如16和24的最大公约数是4,最小公倍数是48。 - 求18和30的最大公约数,可以发现18是30的约数,所以最大公约数是18。 通过以上知识点的阐述,我们可以了解到最大公约数和最小公倍数的概念、计算...
1. **最大公约数(GCD)和最小公倍数(LCM)**:这是基本的数论问题,可以使用欧几里得算法(辗转相除法)来解决。 2. **字符统计**:涉及字符串遍历和计数,通常使用循环和条件判断实现。 3. **位数计算**:通过...
最大公因数(Greatest Common Divisor,简称GCD),也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。整数m和n的最大公约数记为GCD(m, n)。 最小公倍数(Least Common Multiple,简称LCM)是指两个...