一个逻辑题 请老哥们帮个忙

MoogleWitchSalem-avatar

MoogleWitchSalem

2020-12-30T08:08:14+00:00

10、某岛国共有2019位岛民,共持有100元钞票若干张,50元和20元钞票数量足够多.岛民之间只允许进行以下两种兑换

1)1 张 100 元与 2张 50元互换; 2)1张 100 元与5张 20元互换.

某日,每位岛民都声称自己当天共兑换出10张钞票.如果每个人说的都是真话,那么岛上100元的钞票最少有多少张?


老哥们会做吗?
MR MANGLAM-avatar

MR MANGLAM

草率了,有点难好像。
Echo V2-avatar

Echo V2

大概是1346
brus-avatar

brus

这难道不是个数学题?
xHelpImBadx-avatar

xHelpImBadx

要100钞票最少,那么就是要50元和20元钞票最多.分别设50元和20元有x和y张,列不定方程求解?不知道对不对,没细想
Nook-avatar

Nook

一张导2圈不就完了
WoodenFIRE-avatar

WoodenFIRE

和2楼结果一样。
要让100元倒手的次数最多,而我收一次100、然后再把这张100换出去,只能交换出3或者6张钱,因为总计换了10张,所以必然至少要额外付出1次100元
所以所有人分为3组,AB互相倒钱,每人各交换出9张,随后各将一张100交给C换20*5,每组需要2张100,总计1346张
Scribs-avatar

Scribs

1346张。

首先,我们来证明至少需要1346张。

思考一个居民一天中100元钞票数量的净收入(第i个居民的净收入记作xi)。如果他一天里收到的每张100元最后又都换了出去,即净收入=0,那么他总的过手钞票数量应该是3的倍数(2+1,5+1),不可能是10。

因此任意一个xi都不为0

然后,我们知道整个岛上的钞票数量没有变化,只有彼此的交换,那么所有xi之和为0。因此,xi有正有负。最后,所有为正的xi之和的最小值,就是总钞票的需求量的下界

如果xi<0,那么可得xi=-2. 这是因为xi=-1是凑不出10张入手钞票的,因为10-2,10-5都不是3的倍数,xi=-3, -4同样不可能。

这样一来,求“所有为正的xi之和的最小值”,转化为“xi=-2的居民的最小数量”。

对一个xi=-2的居民,最多只能有两个xi>0的居民和他配对。因此,xi=-2的居民至少有2019/3=673个,所求百元钞票数量至少为1346张。

接下来,我们给出一个1346张的方案:

2019人分为673个三人小组,每组三人命名为ABC。C有两张,AB没有。

首先C把两张百元换给AB,收到2张50,5张20;

然后A拿出一张百元,用100换50,在三人中换一圈,每人+3,钞票仍回到A手里;

最后AB互用50换对方的100两次,交换结束。

综上,证明完毕
Fxreign-avatar

Fxreign

[quote][pid=483396796,25008973,1]Reply[/pid] Post by [uid=42611709]maoyuchaxue[/uid] (2021-01-07 17:09):

1346张。

首先,我们来证明至少需要1346张。

思考一个居民一天中100元钞票数量的净收入(第i个居民的净收入记作xi)。如果他一天里收到的每张100元最后又都换了出去,即净收入=0,那么他总的过手钞票数量应该是3的倍数(2+1,5+1),不可能是10。

因此任意一个xi都不为0

然后,我们知道整个岛上的钞票数量没有变化,只有彼此的交换,那么所有xi之和为0。因此,xi有正有负。最后,所有为正的xi之和的最小值,就是总钞票的需求量的下界
[/quote]10不是过手数啊,是兑换出去的数量,也就是2或5
Father Gabe-avatar

Father Gabe

[quote][pid=483393443,25008973,1]Reply[/pid] Post by [uid=1001536]meelody[/uid] (2021-01-07 16:58):

一张导2圈不就完了[/quote]我也这么想,这是"换出"啊,没说是"换出-换入"吧,难道我的理解有问题?
Nook-avatar

Nook

[quote][pid=483399321,25008973,1]Reply[/pid] Post by [uid=62174826]你的心动与我无关[/uid] (2021-01-07 17:18):

我也这么想,这是"换出"啊,没说是"换出-换入"吧,难道我的理解有问题?[/quote]那就导10圈[s:ac:哭笑]
lofi jae-avatar

lofi jae

[s:a2:偷吃]为啥我算的是3365 ……知道哪里错了
§håÐðw ßrµh (中)-avatar

§håÐðw ßrµh (中)

这个 兑换出 是怎么理解

兑出10张(给别人十张)
还是自己这里多出了10张
还是一共交易了10张
SycoAniliz-avatar

SycoAniliz

这似乎是个传递问题,可以简化为两个人用几张一百换到初始状态
kc-avatar

kc

考虑最大化利用一张一百元的情况,即一张在所有人手中转一圈,每个人可以增加3张或6张换出的钞票(2+1或5+1)
那么转两圈一次+3一次+6,就变成每个人换出9张的情况,所有人只要再换出一张即可
因此2019人中有一部分人(x人)进行这个9张的操作,剩下的人(y人)负责处理这x人剩下的一张,需要的一百元总数就是x
而x+y=2019,x尽量小的话那么y就是二分之一x,解得x=1346

但是如何证明这个结果是最小的呢?

Reply to [pid=483396796,25008973,1]Reply[/pid] Post by [uid=42611709]maoyuchaxue[/uid] (2021-01-07 17:09)
感觉过程有问题,比如xi=-1的一个例子:分别用5张、2张换到2张一百元,再换出3张一百元,净收入-1张一百元