最大公约数和最小公倍数问题
include<stdio.h>int main()
{
int x0,y0,h=0,n,g,c,m;
long int P,Q;
scanf("%d%d",&x0,&y0);
for(P=1;P<=y0;P+=1)
{
for(Q=1;Q<=y0;Q+=1)
{
n=P;g=Q;
while(c)
{
n=g;
g=c;
c=n%g;
}
m=P*Q/g;
if((g==x0)&&(m==y0)) h++;
}
}
printf("%d\n",h);
}为什么h永远为1 整型相除结果再需要仔细考虑一下 #include <stdio.h>
int main()
{ int a,b,t,i,ys,bs;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
if (a<b)
{t=a;
a=b;
b=t;
}
for(i=1;i<=b;i++)
{
if((a%i==0)&&(b%i==0))
ys=i;
}
bs=(a*b)/ys;
printf("ys=%d\n",ys);
printf("bs=%d\n",bs);
return 0;
}
页:
[1]