对于给定一个数n,我们对1-n的数进行操作,离不开一条性质
性质(个人总结):n作为1-n中最大的数,那么n/k就是n最多能由k个x组成,也就是x为k的最大公约数
相似的,在n!里寻找有多少个质因子5,那么!n可以写成是1*2*3*...*n,同样n也是最大的,那么n里面有几个5,同样也是n/5 = x,证明n里面有x个5,那么这n个5,只有一个的时候是5,两个的时候10,5个5的时候就是特殊情况,因为5*5会多一个5,所以要把n一直/=5,到0为止
7-9 最大公约数2 (20分)
最大公约数2
从n个数中挑出k个数,使这k个数的最大公约数最大。
输入格式:
第一行一个正整数n(n≤10000)。 第二行为n个空格隔开的正整数,代表这n个数,其中max(ni)≤1000000。
输出格式:
总共n行,第i行为k=i情况下的最大公约数。
输入样例:
4
1 2 3 4
输出样例:
4
2
1
1
#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
ll n,k;
int main()
{
cin>>n>>k;
cout<<n/k<<endl;
return 0;
}