码迷,mamicode.com
首页 > 其他好文 > 详细

求解线段上有多少个整数解

时间:2015-08-03 22:49:38      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

在一个直角坐标系上,从(0,0)到(N,M)画一条线段,求线段覆盖的整数点个数

在一个直角坐标系上,从(0,0)到(N,M)画一条线段,比如N=6,M=4:如图:技术分享图中的线段就覆盖了3个整点,分别是(0,0)(3,2)(6,4)。类似地,如果N=M=3时线段就覆盖了4个整点(0,0)(1,1)(2,2)(3,3)现在给出N和M,求线段(0,0)—(N,M)覆盖的整点个数。

输入文件:第一行一个整数N,第二行一个整数M。输出文件:一行一个数,为覆盖的整点个数。

样例输入:812

样例输出 5

GCD(n,m)为n与m的最大公约数,通过辗转相除法求得。

令g=GCD(n,m);n=x*g,m=y*g.所以将横坐标分为g个x份,将纵坐标分为g个y份,如此得到的答案有g个整数解期其中是不包括原点的,如果包括原点则需要g+1,如果需要去掉两端的整数解则g-1便是答案

版权声明:本文为博主原创文章,未经博主允许不得转载。

求解线段上有多少个整数解

标签:

原文地址:http://blog.csdn.net/qq_18661257/article/details/47262227

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!