首页 > 代码库 > codevs 2947 饥饿数列
codevs 2947 饥饿数列
题目描述 Description
Iahub和Iahubina去一家豪华餐厅约会,然而到了付账时,收银员不向他们收取餐费,而是要求他们写出一个数列。对这个数列的要求如下:
1、数列的长度为n
2、对于数列中的任意两个满足i<j的数ai、aj,要求ai<aj。
3、对于数列中的任意两个满足i<j的数ai、aj,要求ai不能整除aj。
输入描述 Input Description
一个数n
输出描述 Output Description
一行,n个数,所求数列。
如果有多种可行数列,输出字典序最小的一个。
样例输入 Sample Input
3
样例输出 Sample Output
2 3 5
数据范围及提示 Data Size & Hint
0<n<=105
代码:
/*筛法*/#include<cstdio>using namespace std;int n,tot;bool a[1300001];void shai(){ for(long long i=2;i<=1300000;i++) if(a[i]==0) for(long long j=2*i;j<=1300000;j+=i) a[j]=1;}int main(){ scanf("%d",&n); if(n==1) { printf("1"); return 0; } long long i=2; shai(); while(tot<n) { if(a[i]==0) printf("%lld ",i),tot++; i++; } return 0;}
codevs 2947 饥饿数列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。