幸運數由4和7構成,幸運數按照從小到大的排列。可以發現這其實就是樹的廣度優先搜尋。廣度優先搜尋到的節點與根節點(設為空值)的路徑上組成的數就是按照從小到大讀的。
本文想出一種較為直觀的演算法。第一步,求出樹的深度;第二步,求出最後一行有多少元素。根據元素的奇偶性質可以判斷父節點時4還是7 ,迴圈到頂 ;第三步,利用堆疊彈出即可。
現場很遺憾麼有寫出,希望以後謀定而後動,掌握好自己的節奏很重要!
#include#include#includeusing namespace std;
int dep(int n)
else
levelnumlast=(levelnumlast+1)/2;
depth--;
} while(!ans.empty())
{ cout<
第K個幸運數
4和7是兩個幸運數字,我們定義,十進位制表示中,每一位只有4和7兩個數的正整數都是幸運數字。前幾個幸運數字為 4,7,44,47,74,77,444,447 現在輸入乙個數字k,輸出第k個幸運數。第一行乙個數字t t 1000 表示測試資料的組數。對於每組測試資料,輸出乙個數k 1 k 10 18 ...
第K個幸運數字(4 7)
題目 4和7是兩個幸運數字,我們定義,十進位制表示中,每一位只有4和7兩個數的正整數都是幸運數字,前幾個幸運數字為 4,7,44,47,74,77,444,447 輸出第k個數字。思路是 將4換成0,7換成1,那麼 4,7,44,47,74,77,444,447.變成了 0,1,00,01,10,1...
51nod 1635 第K個幸運排列
題意 求1 n的全排列中的第k種排列,其中有多少幸運數字處在幸運位置上。幸運數字以及位置的定義為只包含4和7 思路 我們知道13!大於1e9,根據全排列的順序顯然最多只有13個位置在發生重排,那麼我們可以根據輸入的k將n個位置分成兩個部分 前半部分為固定不動的部分 即1,2,3,4,後半部分為實際發...