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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yesha 中级黑马   /  2015-4-11 22:41  /  507 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输入两个正整数m和n,求其最大公约数和最小公倍数。

2 个回复

倒序浏览
//  没有运行过,刚刚学,参考下吧


#include <stdio.h>

int main()
{
        // 提示用户输入两个正整数

        int m,n;

        printf("请输入第一个正整数\n");

        scanf(%d\n,&m);

        printf("请输入第二个正整数\n");

        scanf(%d\n,&n);
       
        // 定义最大公约数的变量为x

        int x=1;

        // 满足两个正整数的同时可以除尽的数相乘

        for(i=1;(m/i)% == 0 && (n/i)% ==0;i++)
        {
                x = x * i;
        }
        printf("最大公约数为%d\n",x);

        // 定义最小公倍数的变量为y

        int y;
       
        // 最小公倍数 = 最大公约数 * 两个正整数除以最大公约数的余数的乘积

        y = x * (m%x) * (n%x);

        printf("最小公倍数为%d\n",y);

        return 0;
}

点评

for那里错了,应该是 for(i=1,(m%i)==0 && (n%i)==0 && i<=m,i++)  发表于 2015-4-12 00:15
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马