作者LPH66 ((short)(-15074))
看板puzzle
标题Re: [问题] 牧僮点牛
时间Fri Nov 27 09:44:13 2009
※ 引述《stimim (qqaa)》之铭言:
: 突然想到,如果把题目改变一下,一样有三个条件:
: 1. 每 6 只一数的话剩1只,每7、8只一数的话剩1只
: 每9、10只一数的话,剩1只,但11只一数的话就可以整除。
: 2. 我牧的牛不照过4000只
: 3. 而且答案的每个数字加起来刚好是10。
: -------------------------------
: 其中,每7、8只一数的意思是:
: 在数的时候,是这样数:
: 7 8 7 8 ...
: 第一组有七只,第二组有八只,带三组有七只,以此类推,最後还剩一只
: 每九十只一数也是一样的方法。
: --------------------------------
: 请问有几只牛?
(以下的所有变数皆为整数)
所以总牛数是 6a+1, 15b+1 or 15b+8, 19c+1 or 19c+10, 11d
而 15b+8 => 30b'+8 or 30b'+23 除以 6 的余数是 2 或 5 不合
於是只有 15b+1 的可能 和 6a+1 合并起来是 30e+1
再和 11d 合并起来是 330f+121
最後和 19c+1 or 19c+10 合并起来则是 6270g+3421 或 6270g+4741
因此唯一一个可能是 3421 只
---
计算过程是利用了中国剩余定理
例如最後的 330f+121 和 19c+1 合并是这样的:
首先计算出对应的乘数
(330,19) 的场合是: 除以 330 的余数乘上 2641 除以 19 的余数乘上 3630
(理由是 2641≡1 (mod 330) 且 2641≡0 (mod 19)
3630≡0 (mod 330) 且 3630≡1 (mod 19)
这两个数字可以经由 ax+by=1 的整数解导出)
於是 121*2641+1*3630 = 323191 除以 330x19=6270 的余数为 3421
---
顺带一提, 下一个符合数字和是 10 的答案是 22231=6270x3+3421
而 6270g+4741 这个形式中数字和是 10 的最小答案则是 111331=6270x17+4741
--
'You've sort of made up for it tonight,' said Harry. 'Getting the
sword. Finishing the Horcrux. Saving my life.'
'That makes me sound a lot cooler then I was,' Ron mumbled.
'Stuff like that always sounds cooler then it really was,' said
Harry. 'I've been trying to tell you that for years.'
-- Harry Potter and the Deathly Hollows, P.308
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.28.92
1F:推 puzzlez:五位数字的好像就很难用配的去算了...@@" 11/27 09:55
2F:推 lollygagger:good job~ 两组解都有考虑到,像我只解出3421+6720n 11/27 10:52
3F:→ lollygagger:如果牛再多一点,就会漏掉像111331这种GY的答案了 lol 11/27 10:53