求两个数的最大公约数(三种方法) - bingXxx的博客

曲目:求两个数的最大公约数(三种方法) - bingXxx的博客
NJ:
时间:2019/08/08
发行:



办法1:经过翻来覆去相除法来求两标号的最大公约数
//思绪
排序:率先准备暂时变量,过后对这两标号字举行排序,将较大的数字往事在,在B中往事较小的数字
准备while一圈,应用较大的号码,多次地替换较小的号码,把废材赋给一点钟较小的数
反复while一圈,直到内容较大的数字和较小的n,跳出一圈
//最末输出的较小的数就为这两标号的最大公约数
#include
#include
int main()
{
int a;
int b;
int t;
printf(请输出两标号字以查找它们的公分母
scanf_s("%d %d", &a, &b);
if (a < b)//将较大数字的值放入
{
t = a;
a = b;
b = t;
}
while (a%b != 0)//反复冗余,将盈余的值赋给一点钟较小的数字
{
t = a % b;
a = b;
b = t;
默认在哪儿排列打中任一组数字或文字变量
printf(“这两标号的最大公约数为%d ”, b);
system(“pause”);
return 0;
}
办法2
//输出两标号求它们的最大公约数
//办法2
//经过翻来覆去相减法来求两标号的最大公约数
准备两个变量,将较大数字的值放入,在b中输出较小的值
准备while一圈,让a,B骨碌两标号字并减去
将减去的值赋给较小的数字,直到A和B的减法出狱,
较小的输出数是,b的最大公约数
#include
#include
int main()
{
int a;
int b;
int t;
printf(“请输出两标号求它们的最大公约数:”);
scanf_s("%d %d", &a, &b);
if (a < b)//当内容这个if状态时,排列打中任一组数字或文字两标号的顺序,将较大的数保在a中
{
t = a;
a = b;
b = t;
}
while (a - b != 0)
{
t=a-b;
a = b;
b = t;
}
printf(“这两标号的最大公约数为:%d ”,b);
system(“pause”);
return 0;
}
办法3
//用尽法
//输出两标号求它们的最大公约数
//办法三 用尽法
准备两个变量,将较大数字的值保在,在B中生活较小的值
准备for一圈,准备暂时变量,将较小数字的值赋给t;应用较大的数字和s
当不满的时,t,直到小废材和大废材的最后t为零,跳出一圈
//输出的数就为值t就为两标号的最大公约数
#include
#include
int main()
{
int a;
int b;
int t;
printf(“请输出两标号求它们的最大公约数:”);
scanf_s("%d %d", &a, &b);
if (a < b)//将较大的数的值放在a中
{
t = a;
a = b;
b = t;
}
for (t = b; t > 0; t–)
{
if (a%t == 0 && b%t == 0)
{
break;
}
}
printf(“这两标号的最大公约数为:%d ”, t);
system(“pause”);
//return 0;
}
另外其他的创作方法,我私人的不太明智的
#include
#include
int main()
{
int a;
int b;
int t;
printf(“请输出两标号求它们的最大公约数:”);
scanf_s("%d %d", &a, &b);
if (a < b)//将较大的数的值放在a中
{
t = a;
a = b;
b = t;
}
for (t = b; a%t || b % t; t–);
printf(“这两标号的最大公约数为:%d ”, t);
system(“pause”);
//return 0;
}
成绩:为什么for陈述打中一圈状态是A% || b % t指责a%t&&b%t,不太默认,在输出先发制人不霉臭二者都都内容

点击查看原文:求两个数的最大公约数(三种方法) - bingXxx的博客


加入我们
下一篇:没有了