海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个
/*程序设计题目要求海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五...
/*程序设计题目要求
海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,
多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩
下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿
走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有
多少个桃子?
注意:部分程序段已给出,请勿改动
仅在两个found中填入你编写的若干语句.本题14分*/
*/
main()
{
//
} 展开
海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,
多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩
下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿
走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有
多少个桃子?
注意:部分程序段已给出,请勿改动
仅在两个found中填入你编写的若干语句.本题14分*/
*/
main()
{
//
} 展开
1个回答
展开全部
实际上挺简单的,就是从少到多不断的尝试第五只猴子拿走的桃子数目.1、2、3、4、5..
假如第五只猴子拿走一个桃子,则剩下4个桃子,被它扔掉1个桃子
X5-------4*(5/4)+1
X4-------(X5)*(5/4)+1
X3-------(X4)*(5/4)+1
X2-------(X3)*(5/4)+1
X1-------(X2)*(5/4)+1
总的桃子数就是X1,但是X1是最小值
int n=1,i=0,sum=0;
int flag=0;
do
{
sum = n*4;
for(i=0; i < 5;i++)
{
if((sum*5)%4)
{
flag = 1;
break;
}
sum = sum*5/4 + 1;
}
if(i >= 5)
{
flag = 0;
}
n++;
}while(flag);
printf("海滩上原来最少有%d个桃子\n", sum);
假如第五只猴子拿走一个桃子,则剩下4个桃子,被它扔掉1个桃子
X5-------4*(5/4)+1
X4-------(X5)*(5/4)+1
X3-------(X4)*(5/4)+1
X2-------(X3)*(5/4)+1
X1-------(X2)*(5/4)+1
总的桃子数就是X1,但是X1是最小值
int n=1,i=0,sum=0;
int flag=0;
do
{
sum = n*4;
for(i=0; i < 5;i++)
{
if((sum*5)%4)
{
flag = 1;
break;
}
sum = sum*5/4 + 1;
}
if(i >= 5)
{
flag = 0;
}
n++;
}while(flag);
printf("海滩上原来最少有%d个桃子\n", sum);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询