第十二章 丢番图方程


小说:编程之战   作者:程序小猿   类别:未来世界   加入书签   【章节错误/点此举报】   【更新慢了/点此举报
推荐阅读: 永恒剑主 | 星光灿烂 | 巨星夫妻 | 弑天刃 | 九重神格 | 超警美利坚 | 步步惊唐 | 绝世天君 | 都市幻界 | 异度
笔趣阁 //www.boquge.com/book/105094/ 为您提供编程之战全文阅读!注册本站用户,获取免费书架,追书更方便!
  在杨成的软磨硬泡,威逼利诱之下,“皮卡丘系统”终于作出决定。
  那就是把杨成送到有海景的地方去看海。
  古希腊亚历山大港,地中海气候给这里带来了丰沛的降水。
  这里尤其以盛产数学家和哲学家闻名。
  其中最富盛名的数学家自然包括丢番图。
  海港边一座并不起眼的小茅屋,晚上睡在这里能听到海浪轻轻拍打礁石的声音,这里居住着年迈的丢番图和他的弟子。
  “老师请用”。
  杨成用一个小碗装满煮沸的清水,小心翼翼地递给一位老者。
  老者年过八旬,唯一的儿子先他而去,所有的寄托就在这个弟子身上了。
  丢番图喝了一小口清水,看着眼前这个可爱的年轻人,眼中充满了慈爱。
  “徒弟,为师今天要考考你,所学如何?”
  “老师尽管吩咐”,杨成毕恭毕敬地侍立在一旁。
  丢番图拿起一块松软的石膏,在墙壁上颤巍巍地,一笔一划,写出一个方程式。
  “已知x*x-4y*y=n”。
  “若n为已知量,则x,y作何解?”
  杨成看到这方程的第一眼,就明白老师的意思了,他这是在考自己如何求出正整数解来。
  毕竟这个时代,还停留在正有理数求解阶段。
  “你不要急着做,先慢慢想一下,老师先出去走走”。
  说完,丢番图拄着木杖,缓缓地出了门。
  杨成看了看墙上的公式,开始了思索。
  这是一个著名的丢番图方程,或者说是不定方程。
  当杨成看到这个方程的左边x*x-4y*y,他就有种感觉。
  它可以转化为(x-2y)*(x+2y)。
  而且这必然是第一步。
  因为等式右边的常量N,它有可能是一个很大的数。
  如果尝试用穷举法,效率是很低的。
  但可以尝试分解这个常量,把它因式分解成两项。
  比方说,N=24,分解成两项有如下的可能:
  [1,24],[2,12],[3,8],[4,6]
  拿这些可能的项往式子上套,便可得四个方程组:
  x-2y=1
  x+2y=24
  --------------
  x-2y=2
  x+2y=12
  --------------
  x-2y=3
  x+2y=8
  --------------
  x-2y=4
  x+2y=6
  这样就转化成了求四个二元一次方程。
  最后,再选取其中的正整数解即可。
  杨成调出系统编辑器,把这个求解过程写成了一个通用的函数,无论N是什么,都可以通过这个函数来求解。
  似乎有一种古老而神秘的力量感知到了这个函数。
  墙壁上,丢番图所写的那个方程式慢慢地被金色的线条所环绕。
  “叮!”,系统声音响起来。
  “恭喜您完成了丢番图方程求解任务!”
  “先前积分24分”。
  “因式分解求丢番图方程奖励2分”。
  “当前积分26分,击败了全球16%的玩家,请您再接再厉!”
  “成哥好棒喔!”。
  “皮卡丘系统”谄媚地说着肉麻的话,浑然不顾自己GM的身份。
  “少拍哥哥马屁了”,杨成白了系统一眼。
  “真想帮哥哥做点实事的话”,杨成话锋一转,面露狡黠之色。
  “给我安排个希腊妹子晚上过来耍耍啊!”
  “呃~”,皮卡丘一时语塞。
  “成哥,要不要继续来玩玩啊?”。
  这人工智能系统犹如拉皮条般怂恿着杨成。