划水豹 发表于 2019-3-17 21:52:37

最大公约数和最小公倍数问题

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

BngThea 发表于 2019-3-17 22:24:47

整型相除结果再需要仔细考虑一下

xjylt 发表于 2019-3-26 16:34:12

#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]
查看完整版本: 最大公约数和最小公倍数问题