算法合集之《模线方程的应用——用数论方法解决整数问题》.pptVIP

  • 10
  • 0
  • 约1.25千字
  • 约 18页
  • 2018-08-20 发布于江苏
  • 举报

算法合集之《模线方程的应用——用数论方法解决整数问题》.ppt

算法合集之《模线方程的应用——用数论方法解决整数问题》

模线性方程的应用——用数论方法解决整数问题 引言 数论是数学的一支 它的研究对象是整数的性质 模线性方程 表现形式: ax≡c(mod b)或ax+by=c 定理: 模线性方程有解的充要条件是gcd(a,b)|c 若模线性方程有解,从模的意义上讲有且只有一解。 实现: Extended-Euclid算法 例题 —— ball 小球从棋盘左侧或下侧的某格出发,斜向上运动 碰到棋盘的边规则反弹,碰到角落沿原路返回 问小球第一次回到起点时,有几个格子滚过奇数次? 转化 分析 设转化后的棋盘边长分别为L、H,则小球将会作周期为2Lcm(L,H)的周期运动。 小球的运动有两种: 撞到角上,沿原线路返回,以和出发相反的方向回到起点。 没有撞到角上,以和出发相同的方向回到起点。 情况1:撞到角上 水平方向运动距离:qL 竖直方向运动距离:pH-a 条件:gcd(L,H)|a。 qL=pH-a 即 pH-qL=a 结论:只有两个点经过了奇数次。 情况2:没有撞到角上 问题:小球滚过一个点至多几次? 推论2:小球不可能以同一方向滚过一个点两次 推论3:小球不可能以相反方向滚过一个点两次 结论:滚过四边上的点至多一次,滚过中间的点至多两次。 推论1:小球经过的总路程为2Lcm(L,H)。 情况2:没有撞到角上 小球经过奇数次的点的个数=2Lcm(L,H)-小球经过偶数次的点的个数*2 情况2:没有撞到

文档评论(0)

1亿VIP精品文档

相关文档