一道利用遞迴實現的集合列舉演算法題

2021-08-15 14:20:47 字數 450 閱讀 1360

有乙個集合m是這樣生成的: (1) 已知 k 是集合 m 的元素; (2) 如果 y 是 m 的元素,那麼, 2y+1 和 3y+1 都是 m 的元素; (3) 除了上述二種情況外,沒有別的數能夠成為 m 的乙個元素。

問題:任意給定 k 和 x,請判斷 x 是否是 m 的元素。這裡的 k是無符號整數,x 不大於 100000, 如果是,則輸出yes,否則,輸出 no

輸入輸入整數 k 和 x, 逗號間隔。輸出如果是,則輸出 yes,否則,輸出no樣例輸入

此題解法非常巧妙,運用了棧以及打表的技巧

#includeusing namespace std;

int a[10000001];

void f(int n)

else return; }

int main()

return 0;

}

一道TCL的筆試題 遞迴

題目 在下面這個程式片段中的劃線處填上適當的表示式,使之逆序輸出陣列元素。void recur int a,int k 這道題目要用遞迴的思想完成陣列元素的逆序排列,我們先來複習一下有關遞迴函式一般解題思路。一般而言,遞迴函式要有乙個恰當的返回條件,以便到達那個條件的時候返回,不至於無窮巢狀進去,因...

分享一道有趣的遞迴題

這是博主在今日計算機考試上遇到的一道遞迴題,由於前面做得太慢,只剩下了15分鐘,絞盡腦汁才把這道題的主體部分給寫了出來。題目是這樣的 給出乙個列表,裡面全是integer,比如 8,4,4,8,12,3,2,9 或者 2,1,14,6,4,3 我們要做的呢,是把找出這個列表最大的corner和。什麼...

每日一道小演算法(五) 遞迴 矩形的覆蓋

前言 日常閒聊,哈哈,這道題是劍指offer上面的一道題,這道題很經典,看了 你會覺得很簡單,但是看這道題還是沒有什麼思路的,重要的是找思路,多舉個例子測試一下,就會明白很多。好了不廢話了,開撕,嗖 pa 我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋乙個2 ...