/*
* 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把
* 多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的
* 一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
*/
#include <stdio.h>
void ab(int *j, int n)
{
int tmp = (n - 1) * 4;
if (tmp % 5 || *j == 5)
return;
else
{
(*j)++;
ab(j, tmp / 5);
}
}
int abc(int n) //递归实现
{
int j = 0;
ab(&j, n);
if (j == 5)
return n;
else
return abc(n + 1);
}
int main(void)
{
int i, j, sum, tmp;
for (i = 4; i < 10000; i++)
{
sum = i;
for (j = 0; j < 5; j++)
{
tmp = (sum - 1) * 4;
if (tmp % 5)
break;
else
{
sum = tmp / 5;
}
}
if (j == 5)
break;
}
printf("%d\n", i);
return 0;
}
猴子分桃子
最新推荐文章于 2022-05-28 14:59:12 发布