题目描述
佛山每年为全市中小学生兴办一次运动大会。为促进各校同学之间的交流,采用特别的分队方式:每一个学校的同学,必须被均匀分散到各队,使得每一队中该校的人数都相同。为增加比赛的竞争性,希望分成越多队越好。你的任务是根据各校的人数,决定最多可分成的队数。
输入格式
第一行为一个正整数 N ,代表学校的个数;
接下来有 N 行,每行为一个正整数,分别代表这 N 个学校的人数。
数据说明
学校数不超过 500 ,每个学校人数最多为 10000 。
输出格式
一个整数,代表最多可分成的队数。
样例
输入数据 1
3
12
16
20
输出数据 1
4
样例解释
输入样例中有 3 个学校,人数分别为 12、16、20 ,因为 12=4×3 , 16=4×4 , 20=4×5 ,所以最多可以分成 4 个队, 3 个学校在每个队中的人数分别为 3 人、4 人、5 人。
.
代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[10001],mi=1e9,ma;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];mi=min(mi,a[i]);
}
for(int i=1;i<=mi;i++){
int t=1;
for(int j=1;j<=n;j++){
if(a[j]%i!=0)t=0;
}
if(t==1)ma=max(ma,i);
}cout<<ma;
return 0;
}