反質數:設f(n)表示n個約數的個數,如果對於任意x有0那麼它的約數的個數就是 (k1+1)*(k2+1)::k1個p1,可以產生k1個約數,分別是p1^1, p1^2...p1^k1, 同理k2個p2
那麼這k1個約數與k2個約數分別相乘,又會得到k1*k2個約數
總的約數的個數就是 k1*k2+k1+k2+1(還有就是1,也是n的乙個約數,不要忘記)
1 #include2 #include3 #include4 #include5using
namespace
std;
67 typedef long
long
ll;8
int p=;910
ll n, ans, cc;
1112
void dfs(int pos, int
cnt, ll sum)
17if(cnt == cc && ans >sum)
18 ans =sum;
19if(pos>=10) return;20
for(int i=1; ; ++i)25}
2627
intmain()
求乙個正整數不大於它的偶數
問題描述 編寫乙個程式,其功能是將正整數組中所有元素轉換為不大於它的最大偶數,並且顯示輸出。演算法分析 要將乙個正整數轉換為不大於它的最大偶數,只需將該正整數所對應的二進位制數的最低位清零即可。例如 十進位制 二進位制 2 10 3 11 4 100 5 101 6 110 7 111 8 1000...
逆序輸出不大於五位的數
include stdio.h int main void if x 0 a x 10000 b x 1000 c x 100 d x 10 e x if a 0 printf 該數為乙個五位數,個位 d,十位 d,百位 d,千位 d,萬位 d.n e,d,c,b,a else if b 0 pri...
不大於五位數的對稱素數
定義乙個類,該類有乙個成員函式,能判斷其資料成員int dataint是否為對稱且不大於五位數的素數。測試類定義的正確性。輸入資料含有不多於50個的正整數 對於每個n,如果該數是不大於五位數的對稱素數,則輸出 yes 否則輸出 no 每個判斷結果單獨列出一行。11 101 272 yesyesno ...