最多約束問題

2021-08-07 19:08:45 字數 484 閱讀 1158

問題提出

正整數 x的約數是能整除x的正整數,其約數的個數記為div(x),例如div(10)=4。

設 a 和 b 是兩個正整數,找出 a 和 b 之間約數個數最多的數 x的約數個數。

問題分析

解法1將整數分解為質數相乘,例如10=2^1*5^1,則約數個數為(1+1)*(1+1)=4;36=2^2+3^2,約數個數為(2+1)*(2+1)=9。通過求解質數的個數,來求約數的個數,節省時間。

#includeint prime(int m)		

} printf("%d\n",max);

return 0;

}

解法2

#include#includeint div(int m)else if(j=max)	

} printf("%d",max);

return 0;

}

最多約數問題

問題描述 正整數x的約數是能整除x的正整數。正整數x的約數個數記為div x 例如,10有4個約數 1 2 5 10。設a和b是兩個正整數,試計算a和b之間約數個數最多的數x。演算法設計 對於給定的2個正整數a b,程式設計計算a 和 b 之間約數個數最多的數。資料輸入 輸入資料由檔名為input....

最多約數問題

問題描述 正整數x的約數是能整除x的正整數。設a和b是兩個正整數,a b,找出a和b之間約數個數最多的數x。輸入輸出樣例 input 1 36 output 9還是列舉求a,b之間每個數的約數個數,算約數個數採用分解質因數的方法。質數p1 p2 p3 pn,正整數a分解質因數的結果是 a p1 m1...

最多約數問題

題目分析 正整數 x的約數是能整除x的正整數,其約數的個數記為div x 例如div 10 4。設 a 和 b 是兩個正整數,找出 a 和 b 之間約數個數最多的數 x的約數個數。1 暴力法 依次記錄區間範圍內每乙個數的約束個數,取最大值 int prime int a,int b 2 質因子分解 ...