求能被1到20的數整除的最小正整數

2021-08-31 17:05:21 字數 686 閱讀 2567

求能被1到20的數整除的最小正整數。最直覺的方法是求1到20這20個數的最小公倍數。

求n個數的最小公倍數,以a,b,c三個數為例,他們的最小公倍數等於:先求a與b的最小公倍數m,然後m和c的最小公倍數即著三個數的最小公倍數。

求兩個數a,b的最小公倍數嘛,先取出其中較大的那個比如a,然後再用k*a去試探能否被較小那個數整除,其中,k是從1開始的自然數 k*aint get_lcm(int a, int b)

int bigger = aint smaller= aint max = a*b;

int i;

for(i=bigger; i}return max;

}另外一種比較好的方法,以n取10為例

2,3,4,5,6,7,8,9,10 (1沒有什麼意義,忽略掉了)

將這些數字分解質因數:

2, 3, 2*2, 5, 2*3, 7, 2*2*2, 3*3, 2*5

這些質數分別是2, 3, 5, 7

最終答案可以表示為:

2^a * 3^b * 5^c * 7^d (其中,x^y表示x的y次方)

其中的英文本母表示在上面分解質因數時所得到的表示式中質因數在同乙個表示式中出現的次數的最大值。

質因數2出現次數最多是在8=2*2*2中,其出現了3次,所以a為3。

同理可得到:2^3 * 3^2 * 5^1 * 7^1 = 2520。

最小的能夠被1到20整除的數

2520是最小的能夠被1到10整除的數。最小的能夠被1到20整除的正數是多少?這個題相當於是求1 20的最小公倍數,我們可以首先考慮如何求解三個數的最小公倍數。比如4,5,6的最小公倍數我們首先求4,5的最小公倍數即為20,我們再求解20和6的最小公倍數,由於最小公倍數 兩數相乘 兩數最大公因數。則...

C 陣列連線求能被7整除的數

2018美團點評程式設計題2 思路 若乙個整數的個位數字截去,再從餘下的數中,減去個位數的2倍,如果差是7的倍數,則原數能被7整除。如果差太大或心算不易看出是否7的倍數,就需要繼續上述 截尾 倍大 相減 驗差 的過程,直到能清楚判斷為止。例如,判斷133是否7的倍數的過程如下 13 3 2 7,所以...

能被某些數整除的數的特徵

性質1 如果數a b都能被c整除,那麼它們的和 a b 或差 a b 也能被c整除。性質2 幾個數相乘,如果其中有乙個因數能被某乙個數整除,那麼它們的積也能被這個數整除。能被2整除的數,個位上的數能被2整除 偶數都能被2整除 那麼這個數能被2整除 能被3整除的數,各個數字上的數字和能被3整除,那麼這...