題目:求a和b的最大公約數
分析:首先我們要知道最大公約數是什麼,就是指兩個或多個整數共有約數中最大的一個。好了,知道了最大公約數是什麼,就可以求解它了,那麼就相當於比較倆個數的約數,取其相等的最大的一個就對了,是吧?約數是啥???約數就是能把a或者b整除的數呗~
好了~一起來看看代碼吧~
代碼:
1 #include<stdio.h> 2 void gcd(long int a,long int b) //子函數求gcd 3 { 4 long int i,t=0,j=0,k=0,max,q=0; 5 long int x[256],y[256]; //x[]存放第一個數的除數,y[]存放第二個數被第一個除數整除的數 6 for(i=a;i>0;i--) //x[] 7 { 8 if(a%i==0) 9 x[j++]=i; 10 t++; 11 } 12 for(i=0;i<t;i++) //y[] 13 { 14 if(b%x[i]==0) 15 y[k++]=x[i]; 16 q++; 17 } 18 max=y[0]; //選擇最大的一個 19 for(i=0;i<q;i++) 20 { 21 if(max<y[i]) 22 { 23 max=y[i]; 24 } 25 } 26 printf("gcd=%ld\n",max); //輸出 27 } 28 void main() 29 { 30 long int a,b; 31 long int x[100],y[100]; 32 while(1) 33 { 34 printf("please enter two number between 0 to 255 \n"); //輸入倆個數 35 scanf("%ld%ld",&a,&b); 36 gcd(a,b); 37 } 38 }
簡單的看幾個答案吧:
是不是很容易呢?
歡迎聯系我的qq:2516985331
一起學習~