search

c語言求最大公約數

c語言求最大公約數

  程式碼如下:

  #include

  int main()

  {

  int i,a,b,t;

  scanf(%d%d,&a,&b);//輸入數a,b

  if(a>b)//比較a,b大小,如果a>b則交換,結果為a= 2; i--)//以較小的a為基數,每內次i減小1迴圈求最大公容約數

  {

  if (a % i == 0 && b % i == 0)//如果兩數均能整除某數則該數為最大公約數

  {

  printf(最大公約數是:%dn,i);

  break;//已得到最大公約數後跳出迴圈

  }

  }

  if(i==1)//若迴圈到最後仍無最大公約數則i=1

  printf(兩數只能同時被1整除!n);

  return 0;

  }

最大公約數怎麼求演算法

  求最大公約數有多種方法,常見的有質因數分解法、短除法、輾轉相除法、更相減損法。如果有一個自然數a能被自然數b整除,則稱a為b的倍數,b為a的約數。幾個自然數公有的約數,叫做這幾個自然數的公約數。公約數中最大的一個公約數,稱為這幾個自然數的最大公約數。

  輾轉相除法使用到的原理很聰明也很簡單,假設用f(x,y)表示x,y的最大公約數,取k=x/y,b=x%y,則x=ky+b,如果一個數能夠同時整除x和y,則必能同時整除b和y;而能夠同時整除b和y的數也必能同時整除x和y,即x和y的公約數與b和y的公約數是相同的,其最大公約數也是相同的,則有f(x,y)=f(y,x%y)(y>0),如此便可把原問題轉化為求兩個更小數的最大公約數,直到其中一個數為0,剩下的另外一個數就是兩者最大的公約數。

  例如,12和30的公約數有:1、2、3、6,其中6就是12和30的最大公約數。

求兩個整數的最大公約數

  方法一:

  質因數分解法:把幾個數先分別分解質因數,再把各數中的全部公有的質因數和獨有的質因數提取出來連乘,所得的積就是這幾個數的最小公倍數。

  方法二:

  短除法:先用這幾個數的公約數連續去除,一直除到所有的商互質為止,然後把所有的除數連乘起來,所得的積就是這幾個數的最大公約數。

  方法三:

  輾轉相除法:先求出其中任意兩個數的最大公約數,再求這個最大公約數與第三個數的最大公約數,依次求下去,直到最後一個數為止。最後所得的那個最大公約數,就是所有這


如何三個數的大公約數

  分三種情況:   1、當這三個數成倍數時,它們的最大公約數就是其中最小的那個數;   2、當這三個數是互質數時,它們的最大公因數就是1;   3、既不成倍數又不是互質數時,用短除法來求最簡單。用3個數公有的因數去除這3個數,再把所有的公因數乘起來。 ...

什麼是大公約數

  1、最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的一個。a,b的最大公約數記為(a,b),同樣的,a,b,c的最大公約數記為(a,b,c),多個整數的最大公約數也有同樣的記號。   2、求最大公約數有多種方法,常見的有質因數分解法、短除法、輾轉相除法、更相減損法。與最大公約數相對 ...

3個數大公約數演算法

  求3個數的最大公約數的演算法:   1、輾轉相除法:在3個數中任意選2個數,對於給定的兩個數,用較大的數除以較小的數。若餘數不為零,則將餘數和較小的數構成新的一對數,繼續上面的除法,直到大數被小數除盡,則這時較小的數就是原來兩個數的最大公約數。   2、更相減損術:在3個數中任意選2個數,對於給定的兩個數 ...

大公約數小公倍數的關係

  兩個數的乘積等於這兩個數的最大公約數與最小公倍數的乘積。假設有兩個數是a、b,它們的最大公約數是p,最小公倍數是q。那麼存在這樣的關係式:ab=pq。   最大公約數最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的一個。a、b的最大公約數記為(a,b),同樣的,a,b,c的最大公約 ...

多個整數的大公約數

  公約數,亦稱公因數。是一個能被若干個整數同時均整除的整數。如果一個整數同時是幾個整數的約數,稱這個整數為它們的公約數;公約數中最大的稱為最大公約數。對任意的若干個正整數,1總是它們的公因數。   最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的一個。   求最大公約數有多種方法,常 ...

用短除法大公因數和小公倍數怎麼?

  1、用短除法求兩個數的最大公因數和最小公倍數時,從兩個數公有的最小質因數除起,一直除下去,直到除得的兩個商互質為止。 例如:求12和18的最大公因數和最小公倍數。   2、拓展資料:短除法 短除法是求最大公因數的一種方法,也可用來求最小公倍數。 ...

大公約數介紹

  1、最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的一個。   2、a,b的最大公約數記為(a,b),同樣的,a,b,c的最大公約數記為(a,b,c),多個整數的最大公約數也有同樣的記號。求最大公約數有多種方法,常見的有質因數分解法、短除法、輾轉相除法、更相減損法。與最大公約數相對 ...