10----编程分苹果

这篇博客介绍了如何解决一个关于幼儿园分苹果的问题,每个孩子按特定规则接收苹果,最后一个孩子收到11个。通过数学分析和编程,确定了初始苹果总数,并展示了代码实现。
摘要由CSDN通过智能技术生成

问题描述:

       某幼儿园按如下方法依次给A、B、C、D、E五个小孩发苹果。将全部苹果的一半再加二分之一个苹果发给第1个小孩;将剩下苹果的三分之一再加三分之一个苹果发给第2个小孩;将剩下苹果的四分之一再加四分之一个苹果发给第3个小孩;将剩下苹果的五分之一再加五分之一个苹果发给第4个小孩;将剩下的11个苹果发给第5个小孩。每个小孩得到的苹果数均为整数。求原来共有多少个苹果?每个小孩各得到多少个苹果?
 

分析:
       设当前试探的苹果数为n,则对n推导公式为:
       第k个小孩得到全部剩下苹果的(k+1)分之一再加上(k+1)分之一个苹果,即(n+1)/(k+1)个苹果。这个数应该是整数;发完第k个小孩后,余下的苹果数为n-(n+1)/(k+1)应该为11。

 

代码实现:
 

#include<stdio.h>

void main(){
	int a,b,c,d,e,x,n,k,flag;
	n=11;		//从11开始试探
	flag=1;		//flag=1为试探,flag=0为找到解
	
	while(flag){
		x=n;
		flag=0;
		for(k=1;k<=4&&flag==0;k++){   //模拟四次发苹果过程
			if((n+1)%(k+1) == 0)
				n=n-(n+1)/(k+1);
			else
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值