day11 3 C語言初階 求兩個數的最大公約數

2021-10-05 01:36:38 字數 1210 閱讀 9177

1.求兩個數的最大公約數

方法一:窮舉法

//列印100-200之間的素數

#include

#include

#include

#pragma warning(disable:4996)

intgreatcommondivisor

(int _x,

int _y)

}return1;

}int

main()

方法二:輾轉相減法

x由n個t組成,即x = t+…+t

y由m個t組成,即y = t +…+t

讓x,y輾轉相減,最終的x y值相等,便是最大公約數

//列印100-200之間的素數

#include

#include

#include

#pragma warning(disable:4996)

intgreatcommondivisor

(int _x,

int _y)

else

if(_x < _y)

else

}return _x;

}int

main()

方法三:輾轉相除法

x y : t = nx +(-+my)

x % y = a…b —> x = ay + b —> b = x-ay

經過演算,這裡 x = x % y , y = y % x

當x % y 或者 y % x 其中乙個模為0,則此時 x = y = 最大公約數

//列印100-200之間的素數

#include

#include

#include

#pragma warning(disable:4996)

intgreatcommondivisor

(int _x,

int _y)

else

if(_x < _y)

else

}return _x ==

0? _y:_x;

}int

main()

C語言求兩個數中最大公約數

在c語言中如何求兩個數的最大公約數呢?下面用三種方法進行求解。方法一 窮舉法。先比較兩個數的大小,然後找出較小數t,最後判斷t為何值時兩個數都能整除,此方法效率較低。如下 includeint main 將較小值賦給num1 for i num1 i 0 i return 0 方法二 輾轉相減法。輾...

C語言 求兩個數的最大公約數

求兩個數的最大公約數。最大公約數定義 如果a,b是非零整數,而整數q同時是a,b的因數,我們便把q叫做a,b的公因數。顯然,q的絕對值必然不大於a,b的絕對值的最小者,即 q min 上式表明,兩個非零整數的公因數必只有有限多個,於是,其中一定存在乙個最大的。我們把a,b的所有公因數中最大的乙個公因...

交換兩個數的C語言程式

今天是第一次接觸c語言,之前有一點c 的基礎,所以學習起來還挺順手的。下來分享一下寫的乙個關於交換兩個數的c語言 可能這些還存在很大的問題,希望大家可以指正。方法一 允許建立第三個變數 includeint main 方法二 不建立新的變數,利用兩個變數之間的關係,例如異或,加減乘除,但考慮到加減乘...