3 条题解

  • 1
    @ 2024-8-23 17:47:19

    欧几里得解题10秒一题:

    #include<iostream>
    #define int long long
    int gcd(int a,int b){
        return b==0?a:gcd(b,a%b);
    }
    signed main(){
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
        int ab=gcd(a,b);
        printf("%d",gcd(ab,c));
        return 0;
    }
    
  • 1
    @ 2023-3-28 20:34:31

    先求出最小的两个数的公约数,再与另一个数求公约数

    #include<iostream>
    using namespace std;
    int a,b,c,ans;
    int gy(int x,int y){
    	int r=x%y;
    	while(r){
    		x=y;
    		y=r;
    		r=x%y;
    	}
    	return y;
    }
    void px(int x,int y,int z){
    	x=min(a,min(b,c));
    	z=max(a,max(b,c));
    	y=a+b+c-x-z;
    	a=x;b=y;c=z;
    	return;
    }
    int main(){
    	cin>>a>>b>>c;
    	px(a,b,c);
    	ans=gy(a,b);
    	ans=gy(ans,c);
    	cout<<ans;
    	return 0;
    }
    
    • 0
      @ 2025-3-23 15:52:50

      #include<bits/stdc++.h> using namespace std; int a,b; int gcd(int a,int b){ if(b==0)return a; return gcd(b,a%b); } int main() { cin>>a>>b; if(a<b)swap(a,b); gcd(a,b); cout<<b; return 0; }

      • 1

      信息

      ID
      934
      时间
      1000ms
      内存
      128MiB
      难度
      3
      标签
      递交数
      59
      已通过
      31
      上传者