题意:
定义奇异点:一条线上横纵坐标都为整数的点。给出两点,求两点之间的奇异点个数
思路分析:
设y=abs(y1-y2)和x=abs(x1-x2)的最小公倍数是m,则m一定可以把x,y分成长度为整数的若干段。。
AC代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
long long int a,b,c,d;
while(scanf("%lld%lld%lld%lld",&a,&b,&c,&d)!=EOF)
{
long long int m,n;
m=abs(a-c);
n=abs(b-d);
long long int tmp=0;
if(m<n)
{
tmp=m;
m=n;
n=tmp;
}
while(n!=0)
{
tmp=m;
m=n;
n=tmp%n;
}
printf("%lld\n",m-1);
}
return 0;
}