码迷,mamicode.com
首页 > 其他好文 > 详细

最大公约数的计算方法

时间:2019-11-08 12:44:18      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:std   之间   比较   amp   span   can   更新   个数   计算   

// 求最大的公约数
//第一种方法:枚举法
//从1开始每一个数校验是否为公约数,
//并不断地更新到最大的数(只需要比较到两个数较小的数)
#include <stdio.h>
int main ()
{
int a,b;
scanf("%d %d",&a,&b);
int min,ret;
if(a<b)
min=a;
else min=b;
for (int i=1;i<min;i++)
{
if(a%i==0){
if(b%i==0)
{
ret=i;//符合的值就赋值给ret,随着每次更新就会得到最新的
}
}
}
printf("%d和%d的最大公约数是%d",a,b,ret);


//第二种方法:辗转相除法
//a%b=t a=t b=t 直至t==0

方法思考:余数为无法被b的倍数抵消的数,再次相除找他们之间的差距,不断这样相除就可以找到最小的那个

#include <stdio.h>
int main ()
{
int a,b;
scanf("%d %d",&a,&b);
int t;
while (t!=0)
{
t=a%b;
a=b;
b=t;
}
printf("%d",a);
return 0;

}

最大公约数的计算方法

标签:std   之间   比较   amp   span   can   更新   个数   计算   

原文地址:https://www.cnblogs.com/wengst/p/11819224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!