最小公倍數兩種演算法研究

2021-07-14 13:01:25 字數 703 閱讀 4465

最小公倍數兩種演算法研究

#include "stdio.h"

#define max(num1,num2) ((num1)>=(num2))?(num1):(num2)//最大值函式 

//遞迴法求最大公約數,遞迴存在漏洞,沒有做使用者合理性輸入的檢測,二次呼叫做合理檢測!

int getcomfactorre(int num1,int num2)

//用公式法,最小公倍數 = (num1 * num2)/最大公倍數

int getcommultiex(int num1,int num2)

//傳統的演算法,最小公倍數的本質就是在他們兩個數中的最大數向上每次+1,直到找到這樣的數同時滿足整除兩個數的就是最小公倍數

int getcommulti(int num1,int num2)

//此時執行上面的程式之後temp是他們的最大值 

//最小公倍數的本質就是在他們兩個數中的最大數向上每次+1,直到找到這樣的數同時滿足整除兩個數的就是最小公倍數 

while(temp%num1 || temp%num2)

return temp;

//執行測試,下面執行結果都是8,執行平台是c-free

int main(void)

最小公倍數

最大公倍數最大是兩個數的乘積,兩個數互質 最大公約數是1 幾個數共有的倍數叫做這幾個數的公倍數,其中除0以外最小的乙個公倍數,叫做這幾個數的最小公倍數。記作 a,b 與最小公倍數相對應的概念是最大公約數,a,b的最大公約數記為 a,b 關於最小公倍數與最大公約數,我們有這樣的定理 a,b a,b a...

最小公倍數

問題描述 編寫一函式lcm,求解兩個正整數的最小公倍數。樣例輸入 乙個滿足題目要求的輸入樣例。例 3 5 樣例輸出 與上面樣例對應的輸出。例 15 資料規模和約定 輸入資料中每乙個數的範圍 例 兩個數都小於65536.演算法分析 一般來說,求兩個正整數a b的最小公倍數的演算法思路很簡單,主要分為以...

最小公倍數

求n個數的最小公倍數。輸入 輸入包含多個測試例項,每個測試例項的開始是乙個正整數n 2 n 10 然後是n個正整數。輸出為每組測試資料輸出它們的最小公倍數,每個測試例項的輸出佔一行。你可以假設最後的輸出是乙個32位的整數。樣例輸入 2 4 6 3 2 5 7 樣例輸出 1270 題目 zjgsuto...