題目:
有5個海盜,相約進行一次帆船比賽。
比賽中天氣發生突變,他們被衝散了。
恰巧,他們都先後經過途中的一個無名的荒島,並且每個人都信心滿滿,覺得自己是第一個經過該島的人。
第一個人在沙灘上發現了一堆金幣。他把金幣分成5等份。發現剛好少一個金幣。他就從自己口袋拿出一個金幣補充進去,然後把屬於自己的那份拿走。
第二個到達的人也看到了金幣,他也和第一個人一樣,把所有金幣5等分,發現剛好缺少一個金幣,於是自己補進去一個,拿走了屬於自己的那份。
第三,第四,第五人的情況一模一樣。
等他們到了目的地,都說自己的情況,才恍然大悟,一起去荒島找金幣,然而再也沒有找到荒島。他們都惋惜地說:島上還有一千多枚金幣呢!
請你根據這些信息,推算荒島上最初有多少金幣?
這是一個整數,請通過瀏覽器提交答案,不要填寫任何多餘的內容(比如說明性的文字等)
代碼如下:
#include<iostream>
#include<string.h>
using namespace std;
bool dfs(int id,int s)
{
if(id==6)
{cout<<s<<endl;return 1;}
if(s%4!=0)
return 0;
if(s%4==0)
dfs(id+1,s/4*5-1);
}
int main()
{
for(int i=1001;i<2000;i++)
{
dfs(1,i);
}
}