|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 划句顾 于 2021-6-28 10:09 编辑
用辗转相除法求两个数的最大公约数:
代码如下:
- #include<stdio.h>
- int main()
- {
- int m,n,u,v,k,r;
- printf("请分别输入u,v:"); //u>0,v>0
- scanf("%d %d",&u,&v);
- m= u;
- n=v;
- while(v!=0)
- {
- r = u % v;
- u = v;
- v = r;
- }
- k = (m*n)/u;
- printf("最大公约数为:%d\n",u);
- printf("最小公倍数为:%d\n",k);
- return 0;
- }
复制代码
运行结果:
无论怎么u和v哪个大,输出结果都一样
- #include<stdio.h>
- int main()
- {
- int m,n,u,v,k,r,i=0;
- while(i<2)
- {
- printf("请分别输入u,v:"); //u>0,v>0
- scanf("%d %d",&u,&v);
- i++;
- m= u;
- n=v;
- while(v!=0)
- {
- r = u % v;
- u = v;
- v = r;
- }
- k = (m*n)/u;
- printf("最大公约数为:%d\n",u);
- printf("最小公倍数为:%d\n",k);
- }
- return 0;
- }
复制代码
运行结果:
|
|