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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huanglinwang 中级黑马   /  2016-5-24 18:57  /  926 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

超级简单
#include <stdio.h>

int main(int argc, const char * argv[]) {

    //定义两个变量
    int a = 0 ,b = 0;
    //输入变量
    printf("请输入两个数,然后求她们的最大公约数");
    //接收变量
    scanf("%d%d",&a,&b);
    //算法
    while(1){
        if (a > b) {
            a -= b ;
        }else if(a < b){
            int t = 0;
            t = a ;
            a = b - a ;
            b = t ;
        }else if(a == b){
            printf("%d",a);
            return 0;
        }
    }
    return 0;
}






4 个回复

倒序浏览
哇哇哇哇哇哇哇哇哇哇哇
回复 使用道具 举报
/*

求两个数 m 和 n 的最大公约数

*/
  1. #include <stdio.h>
  2. int main() {

  3.     int m, n ;
  4.     int temp ;
  5.     printf("请输入两个数:");
  6.     scanf("%d%d",&m,&n);
  7.     printf("m = %d,n = %d\n",m,n);
  8.    
  9.     if (m > n) {  //m中存放的是较小数 ,n存放的是较大的数
  10.         temp = n ;
  11.         n = m ;
  12.         m = temp;
  13.     }
  14.    
  15.     int div ; //保存最大公约数
  16.    
  17. //    最大公约数肯定是小于或等于 m,n中最小者
  18.     for (div = m; div > 0; div--) {
  19.         
  20.         //当首次同时满足,m,n整除 div 的时候,循环终止,此时div就是m,n的最大公约数。
  21.         if (m % div == 0 && n % div == 0) {
  22.             break;
  23.         }
  24.         
  25.     }
  26.     printf("m 和 n 的最大公约数是:%d\n",div);
  27.    
  28.     return  0 ;
  29. }
复制代码
回复 使用道具 举报
提供另一种方法。
回复 使用道具 举报
看看楼主和评论挺涨知识~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马