1 条题解

  • 0
    @ 2025-9-10 0:11:10

    C :

    #include <stdio.h>
    int num(int a,int b)
    {
    	if(b==0)
    	return a;
    	else
    	return num(b,a%b);
    }
    int main()
    {
    	int x1,x2,y1,y2;
    	while(scanf("%d%d%d%d",&x1,&y1,&x2,&y2)!=EOF)
    	{
    		if(x1==x2&&y1==y2)
    		printf("0\n");
    		else
    		printf("%d\n",num(x2-x1,y2-y1)-1);
    	}
    	return 0;
    }
    

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int gcd(int as,int ad)
    {
        if (ad==0) return as;
        else gcd(ad,as%ad);
    }
    
    int main()
    {
    	int x1,y1,x2,y2;
    	while(~scanf("%d%d%d%d",&x1,&y1,&x2,&y2)){
    		int x=fabs(x2-x1);
    		int y=fabs(y2-y1);
    		int ans=gcd(x,y);
    		if (ans>0) ans--;
    		printf("%d\n",ans);
    		
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    3044
    时间
    1000ms
    内存
    64MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者