回 帖 发 新 帖 刷新版面

主题:分橘子的问题

请问各位高手这道题目如何用pascal实现?

有一堆橘子给某单位,每人分A个余下A-1个;每人分A+1个余下A个;每人分A+2个余下A+1个;这堆里至少有多少橘子?
[em8]

回复列表 (共11个回复)

沙发

a * (a + 1) * (a + 2) - 1(如果a是偶数就是(a * (a + 1) * (a + 2)) / 2 - 1)。

分析:如果再加一个橘子,就能正好让每人分a个、a + 1个、a + 2个都正好分完。那么所要找的结果就是a、a + 1、a + 2的最小公倍数减1。(由于a、a + 1、a + 2中不可能有两个数有2以上的公因数,所以如果a是偶数就把结果除以2)

板凳

VAR
   a, o: INTEGER;
BEGIN
    READLN(a);
    o := a * (a + 1) * (a + 2);
    IF NOT(ODD(a)) THEN o := o DIV 2;
    o := o - 1;
    WRITELN('Orange = ', o);
END.

3 楼

非常感谢Matodied的帮忙,可是我觉得题目不是这个意思,而是说如果每个人都分到A个橘子的话,还剩下A-1个,如果每个人都分到A+1个橘子的话还剩下A个,如果每个人都分到A+2个橘子的话还剩下A+1个  

4 楼

怎么不是我的意思?

我首先问你,如果每人分到a个橘子,剩下a - 1个,那么我再给你一个橘子,是不是就没有剩余了?同样,如果每人分到a + 1个,剩下a个,以及每人分到a + 2个,剩下a + 1个,那么我再给你一个,是不是没有剩余了?

比如:输入 a = 5,输出 209
现在有209个橘子,再给你一个,就是210个,那么每人分5、6、7个都正好分完,所以210是5、6、7的最小公倍数。再试一下209,每人分5个,可以分给41个人,还剩4个;每人分6个,可以分给34个人,还剩5个;每人分7个,可以分给29个人,还剩6个。正好符合你的所有条件。

5 楼

这样的话,每次的人数不是不一样了吗?分别为41 34 29了,题目要求每次人数是不变的吧?

6 楼

如果人数不变那么橘子的数量一定要变。

7 楼

是啊,人数怎么可能不边呢?
假如不变,我们设人数为X,那么
X*A+A-1=X*(A+1)+A=X*(A+2)+A+1;
这怎么可能成立呢!

8 楼

对啊!我怎么没发现啊,这种情况是不可能成立的啊
[em10]

9 楼

橘子和人数都是一定的
设橘子数y  人数x
方程组是:
y-Ax=A-1
y-(A+1)x=A
y-(A+2)x=A+1

10 楼

而上边的 方程组是没有解的  !!这个题有问题

我来回复

您尚未登录,请登录后再回复。点此登录或注册