「刷题」 关于线段上的整点个数

  今天学长说了个结论是 $ num=gcd(x_1-x_2,y1_-y_2) $

现在我试着证明一下。

证明:

  令 $ x=x_1-x_2 , y=y_1-y_2 $

  令 $ d=gcd(x,y) $

  $ x=pd , y=qd $

  令直线上某一点为$ (a,h) $

  由相似三角形可得:

  $ \frac{a}{x} = \frac{h}{y} $

  $ a=\frac{hx}{y}=\frac{hpd}{qd}=\frac{hp}{q} $

  那么$ ans $也就是对于$ 1<=h<=y $来说,有多少个$ a $是整数了。

  即:

  $ ans=\sum \limits_{i=1}^y [q|ip] $

  $ gcd(q,p)==1 $

  $ ans=\sum \limits_{i=1}^y [q|i] $

  $    =\sum \limits_{i=1}^{qd} [q|i] $

  $    =\sum \limits_{i=1}^{d} $

  $    =d $

  $    =gcd(x,y) $

证毕。

转载于:https://www.cnblogs.com/Lrefrain/p/11233292.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值