1. 程式人生 > >遞迴解決分魚問題

遞迴解決分魚問題

A、B、C、D、E這5個人合夥夜間捕魚,凌晨時都已經疲憊不堪,於是各自在河邊的樹叢中找地方睡著了。第二天日上三竿時,A第一個醒來,他將魚平分為5份,把多餘的一條扔回河中,然後拿著自己的一份回家去了;B第二個醒來,但不知道A已經拿走了一份魚,於是他將剩下的魚平分為5份,扔掉多餘的一條,然後只拿走了自己的一份;接著C、D、E依次醒來,也都按同樣的辦法分魚。問這5人至少合夥捕到多少條魚?每個人醒來後所看到的魚是多少條?

#include<iostream>
using namespace std ;
int main()
{
	int num[5];
	for(int i=16;;i+=5){
		num[0]=i;
		int j;
		for(j=1;j<5;j++){
			num[j]=(num[j-1]-1)/5*4;
			if(num[j]%5!=1) 
			break; 
		}
		if(j<=4) continue;
		break; 
	}
	for(int i=0;i<5;i++)
		cout << num[i] <<endl;
	return 0;
}