
求两个整数m和n的最大公约数.C语言
求两个整数m和n的最大公约数。for(i=n;i>=2;i--)/*把2改成1对不对,如果是两个质数原来是不是算不出结果*/if(m%i==0&&n%i==0)break...
求两个整数m和n的最大公约数。
for(i=n;i>=2;i--) /*把2改成1对不对,如果是两个质数原来是不是算不出结果*/
if(m%i==0&&n%i==0)break;
t=i; 展开
for(i=n;i>=2;i--) /*把2改成1对不对,如果是两个质数原来是不是算不出结果*/
if(m%i==0&&n%i==0)break;
t=i; 展开
2个回答
展开全部
#include<stdio.h>
int gcd(int m, int n)
{
int min=m<n ? m:m;
int i;
for(i=min;i>=1;i--)
{
if(m%i==0 && n%i==0) return i;
}
}
int main(int argc, char* argv[])
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
printf("%d\n",gcd(m,n));
}
return 0;
}
for(i=n;i>=2;i--) /*把2改成1对不对,如果是两个质数原来是不是算不出结果*/
if(m%i==0&&n%i==0)break;
t=i;
把2改成1的时候,当两个数互质的时候,i等于1时候才break出来,这是i的值是1,t=i也不错。
2018-03-02
展开全部
#include <stdio.h>
int main ()
{
long long m,n,r=1;
scanf("%ld",&m);
scanf("%ld",&n);
if(m<n)
{
r=n;
n=m;
m=r;
}
while(r!=0)
{
r=m%n;
m=n;
n=r;
}
printf("%ld",m);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |