c晨光


私信TA

用户名:H1320312

访问量:13202

签 名:

大佬们带带我,学渣+oo,哎,我好笨,我为什么这么笨

等  级
排  名 655
经  验 3914
参赛次数 0
文章发表 23
年  龄 10
在职情况 学生
学  校 HBWLXY
专  业 学生

  自我简介:

生活当然需要多姿多彩,不过哪有刷题精彩呢,哇咔咔


解题思路:辗转相除法解决最大公约数(x)问题,最小公倍数为a*b/x;

注意事项:要理解    辗转相除法    是怎么用的,这个很重要,然后要注意每次进行除法运算的数是在改变的,注意观察余数的情况

参考代码:

#include<stdio.h>
int main()
{
    int a,b,i,j,min,max;//j最小公倍数 ,i是辗转相除时产生的余数
    scanf("%d %d",&a,&b);//注意这里的空格问题
    max=(a>b?a:b);//找到大的数作为被除数
    min=(a<b?a:b);
    while(1)
    {
    i=max%min;//取余运算
    if(i==0)
    break;//当余数为0的时候,被除数就是最大公约数,此时跳出循环即可
    max=min;//这里是在改变被除数的值
    min=i;//这里是在改变除数的值
}
j=a*b/min;//最小公约数的计算,理解怎么算的就可以了
printf("%d %d",min,j);
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区