2013藍橋杯c語言c組第9題

2021-09-08 19:47:15 字數 1393 閱讀 4443

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;

/* 2013藍橋杯預賽 c語言c組倒數第二題 帶分數

全排列 暴力搜尋 感覺超時了

*/ #define n 10

int count=0;//全域性變數 計數

int input=0;//輸入的數

//檢查等式右邊第乙個數是否合法

int check(int i,int visit);

while(i!=0)

i=i/10;

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

return 1;

}//交換

int swap(int *a,int *b)

//全排列

//最後乙個引數為等式右邊第乙個數

int par(int arry,int k,int l,int he)

int j1=i+1;

int k1=pow(10,l-i-2);

int sum2=0;

while(k1)

if((input-he)*sum2==sum)

count++;

} }

else;//陣列下標標記沒有用過的數

if(check(i,visit)!=0&&i%10!=0) //篩選無重複的和符合條件的數

par(arry,0,k,i);

}} cout<}

2013藍橋杯c語言C組第10題

我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。本題的要求就是請你程式設計判定 對給定的m x n 的格仔中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。如果存在多種解答,請輸出包含左上角格仔的那個區域包含的格仔的最小數目。如果無法分割,則輸出 0 程式輸入輸出格式要...

2018藍橋杯省賽 B組C 第9題 搜尋

題目分享鏈結 密碼 7m4a 你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四...

2013藍橋杯省賽A組C C B題

小明正看著 203879 這個數字發呆。原來,203879 203879 41566646641 這有什麼神奇呢?仔細觀察,203879 是個6位數,並且它的每個數字上的數字都是不同的,並且它平方後的所有數字上都不出現組成它自身的數字。具有這樣特點的6位數還有乙個,請你找出它!再歸納一下篩選要求 1...