2 条题解
-
3
#include <stdio.h> const int N=3e5+10; int pri[N]={0}; bool f[N]={0}; int n,k; int kk=0; void isp(){ for(int i=2;i<=n;i++){ if(f[i]==0){ pri[kk++]=i; } for(int j=0;j<kk;j++){ if(pri[j]*i>n) break; f[pri[j]*i]=1; if(i%pri[j]==0) break; } } } int main(){ scanf("%d %d",&n,&k); isp(); if(kk+1<k){ printf("NO\n"); }else{ printf("YES\n"); printf("1 "); for(int i=0;i<k-1;i++){ printf("%d ",pri[i]); } printf("\n"); } }
信息
- ID
- 1169
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 414
- 已通过
- 49
- 上传者