c語言找最小公倍數最大公約數?給定兩個正整數,求它們的最大公約數,接下來我們就來聊聊關于c語言找最小公倍數最大公約數?以下内容大家不妨參考一二希望能幫到您!
給定兩個正整數,求它們的最大公約數。
輸入:輸入多個數據,每行兩個正整數且不超過int 範圍。
輸出:行對應輸出最大公約數。
程序:
輾轉相除法。
#include <stdio.h>
int gcd(int m, int n); //将輾轉相除的過程封裝為函數,使主函數結構清晰。
int main(void)
{
int a, b;
while(~scanf("%d%d", &a, &b)){ //多組數據輸入時的方式之一與while(scanf("%d%d", &a, &b) !=EOF)用途相同
printf("%d\n", gcd(a, b));
return 0;
}
int gcd(int m, int n)
{
return n ? gcd(n, m % n) : m; //此函數将輾轉相除的過程以遞歸的形式呈現,簡化程序屬于常規套路。
}
2.更相減損術。
#include<stdio.h>
int main(void)
{
int a,b;
while(scanf("%d %d",&a,&b) == 2){ //利用scanf()函數的返回值處理輸入數據不止一組的情況。
while( a != b ){
if(a > b)
a = a-b;
else
b = b-a;
} //将兩數中較大的數改為兩數之差。
printf("%d\n",a);
}
return 0;
}
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!