UVALive 2889 第n個回文數字

2021-10-04 01:21:10 字數 912 閱讀 4668

#include#define ll long long

#define ull unsigned long long

#define all(x) (x).begin(),(x).end()

using namespace std;

/***

* 求第n個回文數字,n<=2e9;

*/ll sum[22],a[22];

ll fac[22];

int main()

fac[0]=1;

for(int i=1;i<=11;i++) fac[i]=fac[i-1]*10;

ll n;while (cin>>n)

ll zx=(len-1)/2;//中間一般可自由填充的數字的長度

ll res=n-sum[len-1];//後面部分第幾個回文數字

ll maxx=res/fac[zx]+1;//回文數字開頭

ll ret=res%fac[zx];//中間填充的數字

string ans,tmp;

for(int i=1;i<=zx;i++) ans+=(ret%10+'0'),ret/=10;

reverse(all(ans));

tmp=ans;

reverse(all(tmp));

if(len&1) tmp.erase(tmp.begin());//考慮長度為奇數,得刪除頭

ans+=tmp;

ans.insert(ans.begin(),maxx+'0');

ans.insert(ans.end(),maxx+'0');

cout<}

return 0;}/*

* 1000

* * 1001

* 90209

*/

mysql 第n高 MySQL選擇第n個最高紀錄

在本教程中,您將學習如何使用各種技術選擇資料庫表中第n個最高記錄。使用max或min函式可以輕鬆選擇資料庫表中最高或最低的記錄。但是,選擇第n個最高紀錄有點棘手。例如,從products表中獲得第二 格的產品。要選擇第n個最高記錄,需要執行以下步驟 首先,得到n個最高記錄,並按公升序排列。第n個最高...

第N個智慧型數

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

js 第n個排列

給出集合 1,2,3,n 其所有元素共有 n 種排列。按大小順序列出所有排列情況,並一一標記,當 n 3 時,所有排列如下 123 132 213 231 312 321 給定 n 和 k,返回第 k 個排列 以k 3為例,觀察資料我們可以分成這樣三組資料 1 123 132 2 213 231 3...