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

2021-10-02 22:09:55 字數 874 閱讀 9131

題目描述

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

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

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

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

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

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

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

樣例輸入

100
樣例輸出

11
分析:本體可以使用dfs或全排列暴力的方法解決,但感覺使用dfs有些多餘,沒有全排列的方法簡便。而且在這裡可以使用stl中的next_permutation函式列舉這九個數。然後對每種排列方式列舉整數、分母、分子的佔位方法。統計其中成立的結果

#include#includeusing namespace std;

int n,digit=0,ans=0,integer,molecule,denominator,n;

int getnum(int begin,int end,int num)

return sum;

}int main()

;//九個數的排列方法

scanf("%d",&n);

n=n;

while(n>0)//統計輸入資料的位數do}

}while(next_permutation(num,num+9));//列舉所有全排列

printf("%d\n",ans);//輸出所有有效排列情況

}

藍橋杯2023年第四屆真題剪格仔

問題 1432 藍橋杯 2013年第四屆真題 剪格仔 時間限制 1sec 記憶體限制 128mb 題目描述 歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開...

藍橋杯2023年第四屆真題錯誤票據

題目描述 某涉密單位下發了某種票據,並要在年終全部收回。每張票據有唯一的id號。全年所有票據的id號是連續的,但id的開始數碼是隨機選定的。因為工作人員疏忽,在錄入id號的時候發生了一處錯誤,造成了某個id斷號,另外乙個id重號。你的任務是通過程式設計,找出斷號的id和重號的id。假設斷號不可能發生...

藍橋杯 2023年第四屆真題 剪格仔

時間限制 1sec 記憶體限制 128mb 提交 781 解決 272 題目描述 歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開,得到兩個部分,每個部分的...