1 条题解

  • 1
    @ 2024-8-9 14:53:45

    80分解法(两个点TLE):

    #include<bits/stdc++.h>
    using namespace std;
    
    int ji[1000010];
    int main(){
        int n,m;
        cin>>n>>m;
        int j=0;
        for(int i=1;i<=n;i++){
            if(n%i==0){
                ji[j]=i;
                j++;
            }
        }
        for(int i=m;i>=1;i--){
            if(m%i==0){
                for(int k=0;k<=j;k++){
                    if(ji[k]==i){
                        cout<<i;
                        return 0;
                    }
                }
            }
        }
        
    }
    

    简练解法:

    //后期简练
    #include<bits/stdc++.h>
    using namespace std;
    
    int main(){
    	int n,m;
    	cin>>n>>m;
    	int a=m;
    	while(n%m!=0){
    		a=n%m;
    		n=m;
    		m=a;	
    	}
    	cout<<a; 
        return 0;
    }
    
    • 1

    信息

    ID
    126
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    40
    已通过
    16
    上传者