c求最大公約數的演算法
1、相減法
#include<stdio.h>
int main()
{
int a,b;
int c=0;//計數器
while(1)//循環判斷的作用
{
printf("輸入兩個數字求最大公約數:");
scanf("%d%d",&a,&b);
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
c++;
}
printf("最大公約數是:%d ",a);
printf("%d ",c);
}
return 0;
}
運行效果:
2、輾轉相除法:
#include<stdio.h>
int a,b,temp;
int Division(){
printf("請輸入兩個數(a,b): ");
scanf("%d,%d",&a,&b);
if(a<b){
temp=a;
a=b;
b=temp;
}
while(a%b!=0){
temp=a%b;
a=b;
b=temp;
}
printf("最大公約數為:%d ",b);
return 0;
}
3、窮舉法
#include<stdio.h>
int main()
{
int a,b,c;
int d=0;//計數器
while(1)
{
printf("輸入兩個數字求最大公約數:");
scanf("%d%d",&a,&b);
c=(a>b)?b:a;//三目運算符
while(a%c!=0||b%c!=0)
{
c--;
d++;
}
printf("最大公約數是:%d ",c);
printf("%d ",d);
}
return 0;
}
❷ c語言求最大公約數和最小公倍數
c語言求最大公約數和最小公倍數求最小公倍數演算法: 最小公倍數=兩整數的乘積÷最大公約數求最大公約數演算法: (1)輾轉相除法 有兩整數a和b:
❸ c璇璦鏈澶у叕綰︽暟鍜屾渶灝忓叕鍊嶆暟
C璇璦鏈澶у叕綰︽暟鍜屾渶灝忓叕鍊嶆暟鐨鍩烘湰姒傚康錛氭渶澶у叕綰︽暟錛氭寚涓や釜鎴栧氫釜鏁存暟鍏辨湁綰︽暟涓鏈澶х殑涓涓錛涙渶灝忓叕鍊嶆暟錛氫咯鏁扮浉涔橀櫎浠ユ渶澶у叕綰︽暟銆
鍦–璇璦涓錛屽彲浠ヤ嬌鐢ㄦу嚑閲屽緱綆楁硶錛堣緱杞鐩擱櫎娉曪級鏉ヨ$畻涓や釜鏁扮殑鏈澶у叕綰︽暟錛圙CD錛夛紝鐒跺悗浣跨敤鏈澶у叕綰︽暟鍜屾渶灝忓叕鍊嶆暟鐨勫叧緋繪潵璁$畻鏈灝忓叕鍊嶆暟錛圠CM錛夈
奼傛渶澶у叕綰︽暟鐨勬柟娉曪細
鏂規硶涓錛氱┓涓炬硶
鍏堜護鏈澶у叕綰︽暟max涓1錛屽綋淇╀釜鏁癤銆侀兘鑳借寰鐜鍙橀噺i鏁撮櫎鏃訛紝鎶婂驚鐜鍙橀噺璧嬪肩粰鏈澶у叕綰︽暟mx錛岃繖鏍峰湪寰鐜緇撴潫鍚庯紝灝辨眰寰椾簡鏈澶у叕綰︽暟錛屼絾鏄榪欑嶅仛娉曡繃浜庡嶆潅錛岃楁椂銆
鏈澶у叕綰︽暟鍜屾渶灝忓叕鍊嶆暟鐨勫簲鐢錛
1銆佹渶澶у叕綰︽暟鐨勫簲鐢錛氭渶澶у叕綰︽暟鍙浠ョ敤浜庤В鍐充竴浜涙暟瀛﹂棶棰橈紝渚嬪傛眰瑙d袱涓鏁扮殑鏈澶у叕綰︽暟錛屾垨鑰呮眰瑙d竴緇勬暟鐨勬渶澶у叕綰︽暟銆傛ゅ栵紝鍦ㄨ$畻鏈虹戝﹀拰宸ョ▼棰嗗煙錛屾渶澶у叕綰︽暟涔熸湁騫挎硾鐨勫簲鐢錛屼緥濡傜敤浜庡瘑鐮佸︿腑鐨勬ā騫傝繍綆椼佽$畻鏈哄浘褰㈠︿腑鐨勭汗鐞嗘槧灝勭瓑銆
2銆佹渶灝忓叕鍊嶆暟錛圠CM錛夌殑搴旂敤錛氭渶灝忓叕鍊嶆暟鍦ㄨВ鍐充竴浜涙暟瀛﹂棶棰樻椂闈炲父鏈夌敤錛屼緥濡傛眰瑙d袱涓鏁扮殑鏈灝忓叕鍊嶆暟錛屾垨鑰呮眰瑙d竴緇勬暟鐨勬渶灝忓叕鍊嶆暟銆傛ゅ栵紝鏈灝忓叕鍊嶆暟鍦ㄨ$畻鏈虹戝﹀拰宸ョ▼棰嗗煙涔熸湁騫挎硾鐨勫簲鐢錛屼緥濡傜敤浜庤$畻涓や釜鏁扮殑鏈灝忓叕鍊嶆暟錛屾垨鑰呯敤浜庤$畻涓緇勬暟鐨勬渶灝忓叕鍊嶆暟銆