编程程序计算两个正整数的最大公约数(GCD) 要求: (1)提示用户输入两个数,并判断这两个数
编程程序计算两个正整数的最大公约数(GCD)要求:(1)提示用户输入两个数,并判断这两个数为正整数,如不是输入的数不是一个正整数,则重新输入;(2)输出最大公约数;提示:...
编程程序计算两个正整数的最大公约数(GCD)
要求:
(1)提示用户输入两个数,并判断这两个数为正整数,
如不是输入的数不是一个正整数,则重新输入;
(2)输出最大公约数;
提示: 可以采用Euclid算法。该方法为:分别用变量m
和n存储两个正整数的值。如果n为0,则停止操作,此时
m的值就是GCD;否则计算m除以n的余数,把n保存到
m中,并把余数保存到n中。然后重复上述过程,每次都
先判定n是否为0. 展开
要求:
(1)提示用户输入两个数,并判断这两个数为正整数,
如不是输入的数不是一个正整数,则重新输入;
(2)输出最大公约数;
提示: 可以采用Euclid算法。该方法为:分别用变量m
和n存储两个正整数的值。如果n为0,则停止操作,此时
m的值就是GCD;否则计算m除以n的余数,把n保存到
m中,并把余数保存到n中。然后重复上述过程,每次都
先判定n是否为0. 展开
展开全部
#include <stdio.h>
int gcd(int m,int n)
{
if(!n)return m;
return gcd(n,m%n);
}
int main()
{
int m,n;
printf("请输入第1个正整数:");
while(1)
{
scanf("%d",&m);
if(m<=0)printf("输入了非正整数!!!\n请重新输入:");
else break;
}
printf("请输入第2个正整数:");
while(1)
{
scanf("%d",&n);
if(n<=0)printf("输入了非正整数!!!\n请重新输入:");
else break;
}
printf("这两个正整数的公约数为:%d\n",gcd(m,n));
return 0;
}
int gcd(int m,int n)
{
if(!n)return m;
return gcd(n,m%n);
}
int main()
{
int m,n;
printf("请输入第1个正整数:");
while(1)
{
scanf("%d",&m);
if(m<=0)printf("输入了非正整数!!!\n请重新输入:");
else break;
}
printf("请输入第2个正整数:");
while(1)
{
scanf("%d",&n);
if(n<=0)printf("输入了非正整数!!!\n请重新输入:");
else break;
}
printf("这两个正整数的公约数为:%d\n",gcd(m,n));
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询