A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这个要怎么去实现 求大神的源码

3 个回复

倒序浏览
  1. #include <stdio.h>

  2. int main(){
  3.    

  4.    
  5.    // 输入两个正整数m和n,求其最大公约数和最小公倍数
  6.    
  7.     int m,n;
  8.     printf("请输入两个正整数,用逗号隔开:");
  9.     rewind(stdin);
  10.     scanf("%d,%d",&m,&n);
  11.     for(int i = m>n?m:n; i > 0; --i){
  12.         if(m%i==0 && n%i==0){
  13.             printf("最大公约数是:%d\n",i);
  14.             break;
  15.         }
  16.     }
  17.     for(int i = m>n?m:n; i <= m*n; ++i){
  18.         if(i%m==0 && i%n==0){
  19.             printf("最小公倍数:%d\n",i);
  20.             break;
  21.         }
  22.     }
  23.    
  24.    
  25.     return 0;
  26. }
复制代码
回复 使用道具 举报
本帖最后由 Aliu 于 2016-4-18 18:30 编辑
  1. #include <stdio.h>
  2. int main(int argc, char *argv[]) {
  3.     int m,n;
  4.     printf("请输入两个正整数,用逗号隔开:");
  5.     scanf("%d,%d",&m,&n);
  6.     int i;
  7. //两数相除,再除数除以余数,余数为零时,除数就是最大公约数。
  8.     while(n!=0){
  9.     i=m%n;
  10.     m=n;
  11.     n=i;
  12.     }
  13.     printf("最大公约数是 :%d\n",m);
  14.     return 0;
复制代码

回复 使用道具 举报
2楼正解,3L有缺陷,数字大的时候就不对了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马