辗转相除求gcd
#include<bits/stdc++.h> using namespace std; int gcd(int a,int b) { while(a%b!=0) { int c=a%b; a=b; b=c; } return b;//若a%b==0 则b为答案 } int num[1000]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>num[i]; } int m=num[1]; for(int i=2;i<=n;i++) { m=gcd(m,num[i]); } cout<<m<<endl; return 0; }