第N個智慧型數

2021-09-10 06:44:30 字數 683 閱讀 4005

乙個正整數如果能表示成兩個正整數的平方差,則稱這個數為乙個「智慧型數」,比如 16 就等於 5的平方減去 3 的平方,所以 16 就是乙個智慧型數,從 1 開始的自然數列中,將「智慧型數」從小到大編號為 1,2,3,...,n。現輸入乙個正整數 n,輸出第 n 個「智慧型數」。

收起

輸入僅包含乙個正整數 n(1≤n≤100)。
輸出僅包含乙個正整數,表示編號為 n 的「智慧型數」。
3
7
這題一開始的想法就是暴力,因為n的範圍是0--100,所以可以暴力求出幾百個甚至上千個這樣的數,然後排序就好了,然而真的這樣簡單嗎?別忘了還有重複的數,還有去重這個操作,用stl的set就好啦,

#include#include#include#include#include #include using namespace std;

#define ll long long

ll array[10000000];

int main()

set::iterator i;ll j=1;

for(i=st.begin();i!=st.end();i++,j++)

if(j==n) cout<<*i;

}

51nod 2141 第N個智慧型數

題目 乙個正整數如果能表示成兩個正整數的平方差,則稱這個數為乙個 智慧型數 比如 16 就等於 5的平方減去 3 的平方,所以 16 就是乙個智慧型數,從 1 開始的自然數列中,將 智慧型數 從小到大編號為 1,2,3,n。現輸入乙個正整數 n,輸出第 n 個 智慧型數 輸入輸入僅包含乙個正整數 n...

回文數 第N個回文數

判斷回文數還是不難,如果能轉為字串就更簡單了。如果是求第n個回文數呢。12321是乙個回文數,這裡先考慮一半的情況。回文數的個數其實是有規律的。如 1位回文數 9個 2位回文數 9個 3位回文數 90個 4位回文數 90個 5位回文數 900個 6位回文數 900個 我們看到9 90 900,是不是...

返回第n個醜數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如 2,3,4,5,6,8,9,10,12,15,等,習慣上我們把1當做是第乙個醜數。寫乙個高效演算法,返回第n個醜數。解法1 判斷某個數是否為醜數,連續找到第n個醜數 include using namespace std bool ...