在一个直角坐标系上,从(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便是答案
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 21:18:53