问题:一家农户以果园为生。 一天,父亲推出一车苹果,共2520个,准备分给他的6个儿子。 父亲先按事先写在一张纸上的数字把这堆苹果分完,每个人分到的苹果的个数都不相同。 然后他说:“老大,把你分到的苹果分1/8给老二,老二拿到后,连同原来的苹果分1/7给老三, 老三拿到后,连同原来的苹果分1/6给老四, 依次类推,最后老六拿到后,连同原来的苹果分1/3给老大,这样,你们每个人分到的苹果就一样多了。 ” 那么,兄弟6人原来各分到多少个苹果
思路:摸索其中的规律(有规律可循的自然要用到循环语句)
1.如果均分的话,每个人是420个
2.把老大的单独看,剩下的人寻求规律
y[i] = s * (9 - i) / (8 - i);
x[i] = y[i] - y[i - 1] / (10 - i);
运行结果如下
代码如下
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int x[7], y[7], s, i;
s = 2520/6;
for (i = 2; i <= 6; i++)
y[i] = s * (9 - i) / (8 - i);
y[1] = x[1] = (s - y[6] / 3) * 8 / 7;
for (i = 2; i <= 6; i++)
x[i] = y[i] - y[i - 1] / (10 - i);
for (i = 1; i <= 6; i++)
printf("x[%d]=%d\n", i, x[i]);
return 0;
}