#include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; if(b>a) swap(a,b) while(b!=0){ a=a-b; if(b>a){ if(b>a) swap(a,b)} } cout<<a; return 0; } #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; while(a!=b){ if(a>b) a=a-b; else b=b-a; } cout<<a; return 0; } 她的想法是始终保持a是较大的,a=a-b直到b=0这时输出a; 我的想法是一直用较大的减去较小的直到两个相等其实再见减就等于零了原理一样。