帶分數(藍橋杯第四屆)

2021-09-10 06:32:02 字數 877 閱讀 6536

7-3 帶分數(qdulq) (16 分)

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 arr=;

int getnum(int i,int j)

int main()

}}while(next_permutation(arr,arr+9));

cout

}

第四屆藍橋杯程式設計題 帶分數

分析 這道題初看起來第一感覺就是用暴力破解應該可以搞定,但是時間複雜度應該會相當可觀,仔細觀察,會發現這道題無非是全排列的一種運用,把等式定義為 n a b c 則abc組合在一起就是1到9的乙個全排列,所以可以把問題轉換成對於乙個9位數的數字,如何將其劃分為a b c三部分,使得其滿足n a b ...

帶分數 第四屆藍橋杯省賽C B C組

1.先列舉全排列 2.列舉位數 3.判斷是否滿足要求 這道題也就是n a b c,求出符合要求的abc的方案數。進行優化時,可以對等式進行改寫,改寫成 b cn ca。include include include includeusing namespace std const int n 30 ...

藍橋杯 2023年第四屆真題 帶分數 全排列

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