Ⅰ c語言程序設計如何求最大公約數
具體操作步驟如下:
一、新建一個C語言源程序,使用Visual C++6.0的軟體。
Ⅱ C語言:求最大公因數函數,各位大神幫忙看看哪裡錯了。
#include <stdio.h>
int main()
{
int a,b;
int temp,r;
int v;
printf("Input two numbers:");
scanf("%d%d",&a,&b);
if(a<b)
{temp=a; a=b; b=temp;} //將大數放在a中,小數放在b
v=a*b;
r=a%b;
while(r!=0)
{
a=b;
b=r;
r=a%b;
}
v/=b;
printf("最大公約數:%d\n",b);
printf("最小公倍數:%d\n",v);
return 0;
}
Ⅲ c語言求最大公約數
1、新建一個C語言源程序,這里使用Visual C++6.0的軟體:
Ⅳ C語言,誰告訴我輸入17和7是是腫么算出最大公約數是1,為何我腫么看都是7。。。
17和7的最大公約數當然是1嘍。。
17又不能除盡7
Ⅳ 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)
輾轉相除法,這才是最好的方法,一定要掌握
http://ke..com/view/255668.html?wtp=tt
有了大公約,兩數乘後除以大公約即為小公倍
Ⅵ c語言求最大公因數、最小公倍數,每一行代碼是什麼意思注釋出來
#include<stdio.h>
#include<stdlib.h>
intmain(void)
{
intm,n,r;
ints;
while(1)
{
printf("輸入兩數:");
scanf("%d%d",&m,&n);//從鍵盤輸入兩個整數
s=m*n;//計算出兩個數的乘積
//計算最大公因數
while(n!=0)
{
r=m%n;//計算m除以n的余數
m=n;//原n挪入b
n=r;//余數放入n
}
printf("GCD:%d ",m);
printf("LCM:%d ",s/m);
}
return0;
}