C語言經典題 求兩個數的最大公約數以及最小公倍數

2021-08-18 18:18:48 字數 727 閱讀 7779

簡要概述:最大公約數為兩個或多個整數共有約數最大的乙個 ;最小公倍數為兩個或多個整數公有的倍數,其中除0以外最小的乙個公倍數稱為這幾個數的最小公倍數。

設兩個正整數m,n,它們的最大公約數為p,最大公倍數為q,則mn=pq;

初始化操作:

int m,n,x=1,temp,y=0,i;

printf("please enter two numbers[format:x,y]:");

scanf("%d,%d",&m,&n);

x=m*n;

if(mtemp=m;

m=n;

n=temp; }

while(n!=0)

x=x/m;

printf("1.greatest common divisor:%d,least common multiple:%d\n",m,x);

while(m!=n)else

}x=x/m;

//最小公約數,利用兩個數相乘在除以最大公約數

printf("2.greatest common divisor:%d,least common multiple:%d\n",m,x);

temp=m;

if(m>n)

for(i=1;i<=temp;i++)

}x=x/y;

printf("3.greatest common divisor:%d,least common multiple:%d\n",y,x);

C語言 求兩個數的最大公約數

求兩個數的最大公約數。最大公約數定義 如果a,b是非零整數,而整數q同時是a,b的因數,我們便把q叫做a,b的公因數。顯然,q的絕對值必然不大於a,b的絕對值的最小者,即 q min 上式表明,兩個非零整數的公因數必只有有限多個,於是,其中一定存在乙個最大的。我們把a,b的所有公因數中最大的乙個公因...

C語言求兩個數中最大公約數

在c語言中如何求兩個數的最大公約數呢?下面用三種方法進行求解。方法一 窮舉法。先比較兩個數的大小,然後找出較小數t,最後判斷t為何值時兩個數都能整除,此方法效率較低。如下 includeint main 將較小值賦給num1 for i num1 i 0 i return 0 方法二 輾轉相減法。輾...

求兩個數最大公約數

題目 寫乙個程式,求兩個正數的最大公約數。如1100100210001,120200021,求其最大公約數 分析 設兩個數分別為x,y 求其最大公約數f x,y 如果有x 2 0而y 2不等於0,那麼可以 約簡為f x 2,y 同樣道理適用於y 如果x與y都是偶數,那麼最大公約數可以為f x 2,y...