#include<cstdio>
#include<cstring>
using namespace std;
int vis[10020],prime[10020],cnt,n;
void init(){
for(int i=2;i<=10010;i++){
if(!vis[i]){
for(int j=i+i;j<=10010;j+=i)
vis[j]=1;
prime[cnt++]=i;
}
}
}
int main(){
init();
while(~scanf("%d",&n)){
int l=0,r=cnt-1,res=0;
while(prime[r]>n) r--;
while(l<=r){
int d=prime[r];
while(d*prime[l]<=n) d*=prime[l++];
res++;
r--;
}
printf("%d\n",res);
}
}
uva 1521 一推数 分成若干组 每组的数相乘不能超过n 求最小分组
最新推荐文章于 2020-03-06 20:20:18 发布