藍橋杯 花朵數

2021-08-16 09:22:13 字數 578 閱讀 8026

花朵數:花朵數是指乙個數的各個位數的該數的位數次方相加等於該數本身

例:153=1^3+5^3+3^3

程式的任務是:求n=21時,所有滿足條件的花朵數。注意:這個整數有21位,它的各個位數字的21次方之和正好等於這個數本身。

**如下:

public class main

public static void test(int a)

string b1 = b.tostring();

if (b1.length()!=21) return;

int b2 = new int[10];

for(int i=0; i這個題的思路是這樣的:暴力的去列舉是不行的,因為數量級太大了。因此想到的是:

可以先計算出0~9的21次方分別是什麼,放到陣列base中。再建立乙個a陣列,存放的是

在要求的21位數中,0~9分別出現了多少次。這裡是使用遞迴(f函式)來遍歷a陣列的所有取值的。

當達到了21個數的時候,利用test方法計算這個21位數是否符合要求。b2陣列和a陣列一樣,不過它是求已經得到的21位數中各個數字出現的次數,然後與a陣列進行比較,相等說明這個數字符合要求。

藍橋杯 花朵數

乙個n位的十進位制正整數,如果它的每個位上的數字的n次方的和等於這個數本身,則稱其為花朵數。例如 當n 3時,153就滿足條件,因為 1 3 5 3 3 3 153,這樣的數字也被稱為水仙花數 其中,表示乘方,5 3表示5的3次方,也就是立方 當n 4時,1634滿足條件,因為 1 4 6 4 3 ...

藍橋杯 花朵數 解題報告

乙個n位的十進位制正整數,如果它的每個位上的數字的n次方的和等於這個數本身,則稱其為花朵數。例如 當n 3時,153就滿足條件,因為 1 3 5 3 3 3 153,這樣的數字也被稱為水仙花數 其中,表示乘方,5 3表示5的3次方,也就是立方 當n 4時,1634滿足條件,因為 1 4 6 4 3 ...

藍橋杯 冰雹數

冰雹數 任意給定乙個正整數n,如果是偶數,執行 n 2 如果是奇數,執行 n 3 1 生成的新的數字再執行同樣的動作,迴圈往復。通過觀察發現,這個數字會一會兒上公升到很高,一會兒又降落下來。就這樣起起落落的,但最終必會落到 1 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。比如n 9 9,28,14,...