題目描述
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 我們沿著圖中的星號線剪開,得到兩個部分,每個部分的...