本文目錄一覽:
用C語言編寫輾轉相除法求最大公約數
可用遞歸來求。
推薦以下代碼:
#includestdio.h
int gcd(int a,int b) //求最大公約數函數
{
if (a%b==0) return b;
else return gcd(b,a%b); //輾轉相除法
}
void main()
{
int a,b;
scanf(“%d%d”,a,b);
printf(“%d\n”,gcd(a,b));
}
C語言程序:用「輾轉相除法」求兩個正整數的最大公約數(程序填空)
#define _CRT_SECURE_NO_WARNINGS
#include stdio.h
#include stdlib.h
int main()
{
int a, b,r;
scanf(“%d %d”, a, b);
while (b != 0)//當其中一個數為0,另一個數就是兩數的最大公約數
{
r = a%b;
a = b;
b = r;
}
printf(“最大公約數%d\n”, a);
system(“pause”);
}
例子:
105252
252%105=42;
105%42=21;
42%21=0;
即21為105與252的最大公約數
擴展資料:
while語句若一直滿足條件,則會不斷的重複下去。但有時,需要停止循環,則可以用下面的三種方式:
一、在while語句中設定條件語句,條件不滿足,則循環自動停止。
如:只輸出3的倍數的循環;可以設置範圍為:0到20。
二、在循環結構中加入流程式控制制語句,可以使用戶退出循環。
1、break流程式控制制:強制中斷該運行區內的語句,跳出該運行區,繼續運行區域外的語句。
2、continue流程式控制制:也是中斷循環內的運行操作,並且從頭開始運行。
C語言程序設計如何求最大公約數
最大公約數演算法:
(1)輾轉相除法
兩整數a和b:
① a%b得餘數c
② 若c=0,則b即為兩數的最大公約數,結束
③ 若c≠0,則a=b,b=c,再回去執行①
(2)相減法
兩整數a和b:
① 若ab,則a=a-b
② 若ab,則b=b-a
③ 若a=b,則a(或b)即為兩數的最大公約數,結束
④ 若a≠b,則再回去執行①
(3)窮舉法:
① i= a b中的小數
② 若a,b能同時被i整除,則i即為最大公約數,結束
③ i–,再回去執行②
原創文章,作者:XJUQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137637.html