地產大亨q先生臨終的遺願是:拿出100萬元給x社群的居民**,以稍慰藉心中愧疚。
麻煩的是,他有個很奇怪的要求:
100萬元必須被正好分成若干份(不能剩餘)。每份必須是7的若干次方元。
比如:1元, 7元,49元,343元,…
相同金額的份數不能超過5份。
在滿足上述要求的情況下,分成的份數越多越好!
請你幫忙計算一下,最多可以分為多少份?
注意:只需要填寫乙個整數,就是分成的份數,不要填寫任何多餘的內容。比如說明文字。
分析:
dfs
因為相同金額可以有5份 所以遞迴的時候有兩種情況
1.當前次方元+1 visit[step]+1
2.下一次方元+1 visit[step+1]+1
通過份數不能超過5份和金額不能大於100萬條件退出遞迴
#include
#include
using namespace std;
int count = 0;
int visit[10] = ;
int num;
void dfs(int
step,int count)
if(count > 1000000) else
if(count == 1000000)
cout<< num;
exit(0);
}
count += pow(7,step);
visit[step]++;
dfs(step, count); //兩種路 visit[step]+1
dfs(step+1, count); //visit[step+1]+1
visit[step]--;
count -= pow(7,step);
} int main()
藍橋杯模擬賽 奇怪的捐贈 dfs
地產大亨q先生臨終的遺願是 拿出100萬元給x社群的居民 以稍慰藉心中愧疚。麻煩的是,他有個很奇怪的要求 100萬元必須被正好分成若干份 不能剩餘 每份必須是7的若干次方元。比如 1元,7元,49元,343元,相同金額的份數不能超過5份。在滿足上述要求的情況下,分成的份數越多越好!請你幫忙計算一下,...
藍橋杯模擬 奇怪的捐贈
地產大亨q先生臨終的遺願是 拿出100萬元給x社群的居民 以稍慰藉心中愧疚。麻煩的是,他有個很奇怪的要求 100萬元必須被正好分成若干份 不能剩餘 每份必須是7的若干次方元。比如 1元,7元,49元,343元,相同金額的份數不能超過5份。在滿足上述要求的情況下,分成的份數越多越好!請你幫忙計算一下,...
藍橋杯 奇怪的捐贈
問題描述 地產大亨q先生臨終的遺願是 拿出100萬元給x社群的居民 以稍慰藉心中愧疚。麻煩的是,他有個很奇怪的要求 1.100萬元必須被正好分成若干份 不能剩餘 每份必須是7的若干次方元。比如 1元,7元,49元,343元,2.相同金額的份數不能超過5份。3.在滿足上述要求的情況下,分成的份數越多越...