| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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;
 
 - }
 
  复制代码 
运行结果: 
 
 |   
 
 
 
 |