公司發了某商店的購物券1000元,限定只能購買店中的m種商品。每種商品的**分別為m1,m2,…,要求程式列出所有的正好能消費完該購物券的不同購物方法。
程式輸入:
第一行是乙個整數m,代表可購買的商品的種類數。
接下來是m個整數,每個1行,分別代表這m種商品的單價。
程式輸出:
第一行是乙個整數,表示共有多少種方案
第二行開始,每種方案佔1行,表示對每種商品購買的數量,中間用空格分隔。
例如:輸入: 2
200300
則應輸出: 2
2 2
5 0
輸入: 2
500800
則應輸出: 1
2 0
要求考生把所有函式寫在乙個檔案中。除錯好後,存入與考生資料夾下對應題號的「解答.txt」中即可。相關的工程檔案不要拷入。
對於程式設計題目,要求選手給出的解答完全符合ansi c標準,不能使用c++特性;不能使用諸如繪圖、中斷呼叫等硬體相關或作業系統相關的api。
遞迴思路,具體見**註解。
#include#includeint m;//物品數
int p[100];//**
int ans[100][100];//ans[i][j]表示第i個方案中第j個物品被選數
int num[100];//num[i]表示第i件物品被選的個數
int cas=0;//方案數
int money=0;//花的錢
void buy(int n)//n表示當前搜尋到的物品編號
{ return ;
if(money==1000)//當花的錢正好為1000,滿足要求
{for(int i=0; i
第二屆藍橋杯 中獎計算
題目 中獎計算 某 活動的規則是 每位參與者在紙上寫下乙個8位數的號碼。最後通過搖獎的辦法隨機產生乙個8位數字。參與者寫下的數字中最多有多少個連續位與開獎號碼中的相同,則稱為中了幾個號。例如 小張寫的數字是 12345678,而開獎號碼是 42347856。則稱小張中了3個號,因為其中最長的相同連續...
第二屆藍橋杯 n進製小數
題目 n進製小數 將任意十進位制正小數分別轉換成2,3,4,5,6,7,8,9進製正小數,小數點後保留8位,並輸出。例如 若十進位制小數為0.795,則輸出 十進位制正小數0.795000 轉換成 2 進製數為 0.11001011 十進位制正小數0.795000 轉換成 3 進製數為 0.2101...
藍橋杯第九屆C組java 第二題
5只猴子是好朋友,在海邊的椰子樹上睡著了。這期間,有商船把一大堆香蕉忘記在沙灘上離去。第1只猴子醒來,把香蕉均分成5堆,還剩下1個,就吃掉並把自己的乙份藏起來繼續睡覺。第2只猴子醒來,重新把香蕉均分成5堆,還剩下2個,就吃掉並把自己的乙份藏起來繼續睡覺。第3只猴子醒來,重新把香蕉均分成5堆,還剩下3...