51nod 2141 第N個智慧型數

2021-10-08 09:41:48 字數 883 閱讀 7749

題目

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

輸入輸入僅包含乙個正整數 n(1≤n≤100)。

輸出輸出僅包含乙個正整數,表示編號為 n 的「智慧型數」。

輸入樣例

3輸出樣例

7解題思路

建立乙個函式列舉出所有智慧型數放到set容器裡,然後用迭代器輸出第n個

**

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define int_max 0x7fffffff

#define int_min 0x80000000

using

namespace std;

set<

int>a;

int n;

voidf(

)}}}

intmain()

}return0;

}

第N個智慧型數

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

51Nod 1184 第N個質數

第1個質數是2,第3個質數是5,給出乙個數n,求第n個質數。很明顯這個要二分答案。現在的主要問題就是求f i 表示i裡面有多少個質數。這裡可以用個非正式的洲閣篩。設 f i 表 示i以內 有多少個 質數 p i 表 示第i個 質數 g i j 表示 前i個數 不被p 1.j 整除的數 有多少個 那麼...

51nod 第K大的數

題目鏈結 題意 題目給了我們陣列a和b,然後給了c陣列中各個元素是由陣列a和b相應元素相乘得到。讓我們求出陣列c中的第k大元素的值。題解 這道題目陣列a和b的長度n是5e4,因此直接不能直接求出所有陣列c元素的值。這類求第k大的問題,有時可以使用二分的方法進行求解。這道題目二分的思路就是,將陣列a和...