問題 C 完美的數(思維)

2021-09-25 05:35:01 字數 1269 閱讀 1608

問題 c: 完美的數

時間限制: 1 sec 記憶體限制: 128 mb

[提交][狀態][討論版]

題目描述

乙個數是否完美是這樣定義的,如果這個數的素數因子只有2,3,5,7,那麼這個數就是完美的.

顯而易見前面幾個完美的數為1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, …

你能告訴我第n個完美的數是多少嘛?

輸入多組測試資料.每組資料的第一行包含乙個正整數n(1<= n<=5842).

輸出對於每組測試資料輸出第n個完美的數

樣例輸入

1

115842

樣例輸出

1

122000000000

提示

/*打表。

用優先佇列。

首先1入隊,

然後1出隊,出隊的同時記錄結果,分別乘2,3,5,7,得到的結果入佇列

然後再讓佇列中乙個元素出隊(最大的最小的都可以,我是讓最小的出隊),出隊的同時記錄結果,分別乘2,3,5,7,得到的<=2e9的結果入佇列

直到隊列為空。

*/ac_code:

#include

using namespace std;

typedef

long

long ll;

const ll maxn =

6000

;const ll up =

2e9;

ll mp[maxn]

;ll step=

;priority_queueq;

mapvis;

intmain()

}}ll n;

while(~

scanf

("%lld"

,&n)

)return0;

}

乙個學長的巧妙的解法:

#include

using namespace std;

const

int maxn =

6e3;

int mp[maxn]

;int

main()

int n;

while(~

scanf

("%d"

,&n)

)return0;

}

C語言 完美的代價

基礎練習 完美的代價 時間限制 1.0s 記憶體限制 512.0mb 錦囊1 使用貪心演算法。錦囊2 從左到右列舉每個字元,移動對應字元。個數為單的字元放中間。問題描述 回文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。小龍龍認為回文串才是完美的。現在給你乙個串,它不一定是回文的,請你計算...

C 程式設計 2553 完美的素數

problem description 素數又稱質數。指乙個大於1的自然數,除了1和此整數自身外,不能被其他自然數整除的數。我們定義 如果乙個素數是完美的素數,當且僅當它的每一位數字之和也是乙個素數。現在給你乙個正整數,你需要寫個程式判斷一下這個數按照上面的定義是不是乙個完美的素數。input 輸入...

用C 實現 完美的代價

回文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。小龍龍認為回文串才是完美的。現在給你乙個串,它不一定是回文的,請你計算最少的交換次數使得該串變成乙個完美的回文串。交換的定義是 交換兩個相鄰的字元 例如mamad 第一次交換 ad mamda 第二次交換 md madma 第三次交換 ma...