當前位置:編程學習大全網 - 編程軟體 - C語言求最大公因數和最小公倍數的N種方法?

C語言求最大公因數和最小公倍數的N種方法?

(A)

#include<stdio.h>

int f(int a,int b,int n)

{if(a%n+b%n) n=f(a,b,n-1);

return n;

}

void main()

{int a,b,t,n,m;

printf("input a,b:\n");

scanf("%d%d",&a,&b);

n=(a>b)?b:a;

m=a*b/f(a,b,n);

printf("zui da gong yue shu:%d\nzui xiao gong bei shu:%d\n",f(a,b,n),m);

}

(B)

把上面的遞歸換成循環

#include<stdio.h>

void main()

{

int x,y,a,m,n,t;

printf("please input two num x,y\n");

scanf("%d%d",&x,&y);

for(a=x>y?x:y;a>0;a--)

if(x%a==0&&y%a==0)

{

printf("x,y最大公約數 %d\n",a);

break;

}

m=x/a;

n=y/a;

t=a*m*n;

printf("x,y最小公倍數 %d\n",t);

}

(C)

輾轉相除法,這才是最好的方法,壹定要掌握

/view/255668.html?wtp=tt

有了大公約,兩數乘後除以大公約即為小公倍

  • 上一篇:計算機技術在汽車上的應用有哪些 (具體點)
  • 下一篇:學習計算機維修與應用可以修電腦嗎?
  • copyright 2024編程學習大全網