帶分數(全排列問題 數字運算)

2021-09-12 09:28:37 字數 920 閱讀 3690

100 可以表示為帶分數的形式:100 = 3 + 69258 / 714

還可以表示為:100 = 82 + 3546 / 197

注意特徵:帶分數中,數字1~9分別出現且只出現一次(不包含0)。

類似這樣的帶分數,100 有 11 種表示法。

題目要求:

從標準輸入讀入乙個正整數n (n<1000*1000)

程式輸出該數字用數碼1~9不重複不遺漏地組成帶分數表示的全部種數。

注意:不要求輸出每個表示,只統計有多少表示法!

例如:使用者輸入:

100程式輸出:

11再例如:

使用者輸入:

105程式輸出:

6資源約定:

峰值記憶體消耗 < 64m

cpu消耗  < 3000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

#include#includeusing namespace std;

int a[10];

int n,cnt=0;

void check()

if(a&&b&&c&&b%c==0&&(a+b/c==n))

cnt++;}}

}int main()

while(next_permutation(a+1,a+10));

cout

}

帶分數 全排列

100 可以表示為帶分數的形式 100 3 69258714 還可以表示為 100 82 3546197 類似這樣的帶分數,100 有 11 種表示法。輸入格式 乙個正整數。輸出格式 輸出輸入數字用數碼 1 9 不重複不遺漏地組成帶分數表示的全部種數。資料範圍 1 n 106 輸入樣例1 100輸出...

藍橋帶分數(全排列)

100 可以表示為帶分數的形式 100 3 69258 714 還可以表示為 100 82 3546 197 注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。題目要求 從標準輸入讀入乙個正整數n n 1000 1000 程式輸出該數字用數碼...

帶分數(全排列 判斷條件)

100 可以表示為帶分數的形式 100 3 69258 714 還可以表示為 100 82 3546 197 注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。題目要求 從標準輸入讀入乙個正整數n n 1000 1000 程式輸出該數字用數碼...