课后习题 3-10 编写函数求两个整数的最大公约数和最小公倍数。提示:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。
四种方法求最大公约数#include<;iostream>;#include<;cmath>;using namespace std;//辗转相除法int gcd(int a,int b){if(a%b==0)return b;else;return gcd(b,a%b);}//穷举法int divisor (int a, int b) //自定义函数求两数的最大公约数{int temp;//定义整型变量temp=(a>;b)?b:a;//采种条件运算表达式求出两个数中的最小值while(temp>;0){if(a%temp==0&&b%temp==0)//只要找到一个数能同时被a,b所整除,则中止循环break;temp--;//如不满足if条件则变量自减,直到能被a,b所整除}return (temp);//返回满足条件的数到主调函数处}//更相减损法int gcd2(int m,int n){int i=0,temp,x;while(m%2==0&&n%2==0)//判断m和n能被多少个2整除{m/=2;n/=2;i+=1;} if(m<;n)//m保存大的值{temp=m;m=n;n=temp;} while(x){x=m-n;m=(n>;x)?n:x;n=(n<;x)?n:x;if(n==(m-n))break;}if(i==0)return n;elsereturn (int) pow(2,i)*n;}//Stein算法int Stein( unsigned int x, unsigned int y )/* return the greatest common divisor of x and y */{int factor = 0;int temp;if ( x <; y ){temp = x;x = y;y = temp;}if ( 0 == y ){return 0;}while ( x != y ){if ( x & 0x1 ){/* when x is odd */if ( y & 0x1 ){/* when x and y are both odd */y = ( x - y ) >;>; 1;x -= y;}else{/* when x is odd and y is even */y >;>;= 1;}}else{/* when x is even */if ( y & 0x1 ){/* when x is even and y is odd */x >;>;= 1;if ( x <; y ){temp = x;x = y;y = temp;}}else{/* when x and y are both even */x >;>;= 1;y >;>;= 1;++factor;}}}return ( x <;<; factor );}int main(){省略 return 0;}
举一反三
- 社会主义核心价值观是增进社会团结和谐的 A: 最小公约数 B: 最大公约数 C: 最小公倍数 D: 最大公倍数
- 2.社会主义核心价值观是全国各族人民共同认同的价值观的( )。? 最大公倍数|最小公约数|;最小公倍数|最大公约数
- 社会主义核心价值观是全国各族人民共同认同的价值观的()。 A: 最大公约数 B: 最大公倍数 C: 最小公约数 D: 最小公倍数
- 人类命运共同体是中西方文化理念和价值追求的 A: 最大公倍数 B: 最小公倍数 C: 最大公约数 D: 最小公约数
- 2.社会主义核心价值观是全国各族人民共同认同的价值观的( )。 A: 最小公倍数 B: 最大公约数 C: 最大公倍数 D: 最小公约数
内容
- 0
3-10编写函数求两个整数的最大公约数和最小公倍数。
- 1
编写两个函数,分别计算两个整数的最大公约数和最小公倍数,在主函数输入两个整数,计算最大公约数和最小公倍数。
- 2
求两个整数的最大公约数和最小公倍数。
- 3
输入两个整数,输出两个整数的最大公约数和最小公倍数
- 4
最大公约数计算。从键盘接收两个整数,编写程序求出这两个整数的最大公约数和最小公倍数。