程式設計之美讀書筆記2 8 找符合條件的整數

2021-06-27 13:46:26 字數 981 閱讀 5539

任意給定乙個正整數n,求乙個最小的正整數m(m >1),使得n * m 的十進位制表示形式裡只含有1 和0,例如:

noupdate++; //未更新

else

noupdate=0;

//如果經過乙個迴圈節都沒能對bigint進行更新,就是無解

//如果v[0].empty不為空,已經找到解

if(noupdate==n||(!v[0].empty()))

break;

} if(v[0].empty())

cout<

for(iter=v[0].begin();iter!=v[0].end();iter++)

//cout<

}int main()

程式設計之美2 8 找符合條件的整數

問題 任意給定乙個正整數n,求乙個最小的正整數m m 1 使得n m的十進位制表示形式裡只含有1和0。解法 由於沒有直接的數學方法能幫我們直接得到m的值,所以我們只能進行搜尋。由於相對m,乘積n m具有明顯的特徵,需要搜尋的空間要小很多,所以我們對乘積n m進行搜尋。如果n m的結果有k位,則要迴圈...

程式設計之美2 8 找符合條件的整數

這個題目是,給定乙個整數 n,需要尋找另外乙個整數 m,使得 n m 得到的結果十進位制表示中只存在1和0兩個數字。首先看到這個題目,第一思想肯定是 使 m 1,並依此遞增 m 的值,直到 n m 獲得想要的效果,但是,如果 n 很大呢,那麼計算量也是很大的,所以,我們需要尋求更好的解決辦法。書中提...

程式設計之美2 8 找符合條件的整數

書上面講的很好,程式也寫得很巧妙。最主要的一句話 只需要將10k n的結果與餘數資訊陣列裡非空的元素相加,再去模n,看看會不會出現新的餘數。include include using namespace std vectorfind number int n bigint 1 push back 0...