【CodeForces 577C】Vasya and Petya’s Game

链接

某个数x属于[1,n],至少询问哪些数y“x是否是y的倍数”才能判断x。
找出所有质因数和质因数的幂即可。

#include<cstdio>
#include<algorithm>
#define N 1005
using namespace std;
int n,pr[N],ans[N],cnt;
int main(){
    scanf("%d",&n);
    for(int i=2;i<=n;i++)
        if(!pr[i])
            for(int j=i*2;j<=n;j+=i)
                pr[j]++;
    for(int i=2;i<=n;i++)
        if(pr[i]<2)
                ans[cnt++]=i;
    printf("%d\n",cnt);
    for(int i=0;i<cnt;i++)
        printf("%d ",ans[i]);
}

 

  

posted @ 2016-07-24 18:04  水郁  阅读(386)  评论(0编辑  收藏  举报
……