1 9組成9位數,各位不同,前n位能被n整除的演算法

2021-07-22 07:37:42 字數 596 閱讀 3370



程式設計師面試寶典第五版112頁答案,**附有注釋

乙個 9 位的整數,1-9 的數字,每個數字只能出現一次

其中前1位能被1整出

前 2 位能被 2 整除

前 3 位能被 3 整除

前 4 位能被 4 整除

依次類推.........

前 9 位能被 9 整除

這似乎是小時候的一道奧數題,有唯一解。剛剛看了有點蒙,如果不用程式語言,用紙筆在自己腦子裡分析即可得出答案。

後來大概思考了一下,應該可以用遞迴實現,即是從第1位開始判斷是否可以被1整出,然後判斷第2位是否可以被2整除,直到第9位終止。就是個遍歷,效率不高。

#include#includeusing namespace std;

bool check[10];

vectorv ;

void ninebitinteger(int k,long long a)

//遞迴過程

for (int i = 1; i <= 9; i++) }

}void main()

cout << endl;

}

組成三位數

時間限制 1 sec 記憶體限制 125 mb 提交 6 解決 2 提交 狀態 討論版 命題人 外部匯入 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成1 2 3的比例,試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576滿足以上條件。本題無輸入。輸出所有符...

求出5位數和6位數中各位數字之和為N的回文數

問題描述 123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。輸入乙個正整數n,程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 輸入格式 輸入一行,包含乙個正整數n。輸出格式 按從小到大的順序輸出滿足條件的整數,每個整數佔一行。樣例輸入 52樣例輸出 899998 989...

QSBOJ 組成三位數

題目描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成1 2 3的比例,試求出所有滿足條件的三個三位數。例如 三個三位數192,384,576滿足以上條件。輸出輸出所有符合要求的三個三位數,每一組佔一行,數字之間由乙個空格分隔。每組中的三個數字按照從小到大輸出,各組之間按照...