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;
}
时间: 2024-10-10 17:22:14

codevs 2947 饥饿数列的相关文章

矩阵乘法快速幂 codevs 1250 Fibonacci数列

codevs 1250 Fibonacci数列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 定义:f0=f1=1, fn=fn-1+fn-2(n>=2).{fi}称为Fibonacci数列. 输入n,求fn mod q.其中1<=q<=30000. 输入描述 Input Description 第一行一个数T(1<=T<=10000). 以下T行,每行两个数,n,q(n<=109, 1<

[CODEVS 1281] Xn数列

描述 给你6个数,m, a, c, x0, n, g Xn+1 = ( aXn + c ) mod m,求Xn http://codevs.cn/problem/1281/ 分析 比较裸的矩阵乘法题, 好久没做了, 写写思路 假设矩阵 A = { {a1, a2}, {a3, a4} }, B = { {b1, b2}, {b3, b4} }. 根据矩阵乘法的计算方法, 有 : A×B = { {a1b1+a2b2, a1b2+a2b4}, {a3b1+a4b3, a3b2+a4b4} }. 那

Codevs 4357 不等数列

不等数列 [题目描述] 将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“>”和“<”.问在所有排列中,有多少个排列恰好有k个“<”.答案对2012取模. [输入格式] 第一行2个整数n,k. [输出格式] 一个整数表示答案. [样例输入] 5 2 [样例输出] 66 [数据范围] 对于30%的数据:n <= 10 对于100%的数据:k < n <= 1000, 对于30% n<=10的数据,搜索打表,状态压缩动态规划...... 对于1--n等

codevs 1345 饥饿的奶牛

1345 饥饿的奶牛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description John养了若干奶牛,每天晚上奶牛都要进食.由于条件比较简陋,并不一定所有奶牛都能吃到食物.奶牛的进食方式是这样的:John有n个食桶(1<=n<=2000),分别编号为1..n.这些食桶被按照编号排成一行.John将奶牛们分成若干组,每组奶牛总是呆在一起进食的,每组奶牛会提出要求——他们需要吃第start到第end桶中的食物.可能存在若干组奶牛都要吃同一个

矩阵乘法快速幂 codevs 1732 Fibonacci数列 2

1732 Fibonacci数列 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 在“1250 Fibonacci数列”中,我们求出了第n个Fibonacci数列的值.但是1250中,n<=109.现在,你的任务仍然是求出第n个Fibonacci数列的值,但是注意:n为整数,且1 <= n <= 100000000000000 输入描述 Input Description 输入有多组数据,每

codevs 1281 Xn数列 (矩阵乘法)

/* 再来个题练练手 scanf longlong 有bug....... */ #include<cstdio> #include<iostream> #include<cstring> #define ll long long using namespace std; ll n,m,x,y,x0,g; ll f[3][3],a[3][3]; ll slow_mul(ll a,ll b,ll c) { ll ans=0; a=a%c;b=b%c; while(b) {

总结-数学

数学 比较害怕数学题, 因为数学题一般代码比较短, 一旦想到正解往往就能AC, 但是我数学水平很洼, 知道的东西也比较少. 感觉写写暴力拿部分分比较现实. 毕竟不是每个人都能找到正解. 1. 组合数 一般用阶乘计算, 需要求逆元. 可以用lucas定理优化时间复杂度. 组合类的问题就要考虑组合数 1. BestCoder-Round#33 第二题是组合数的题目 2. BZOJ-1005-明明的烦恼 用组合数阶乘公式推导出最后的式子 3. BZOJ-1951-古代猪文-SDOI2010-费马小定理

矩阵乘法快速幂 codevs 1574 广义斐波那契数列

codevs 1574 广义斐波那契数列 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 广义的斐波那契数列是指形如an=p*an-1+q*an-2的数列.今给定数列的两系数p和q,以及数列的最前两项a1和a2,另给出两个整数n和m,试求数列的第n项an除以m的余数. 输入描述 Input Description 输入包含一行6个整数.依次是p,q,a1,a2,n,m,其中在p,q,a1,a2整数范围内,n和m在长整数范围

2015.9.11模拟赛 codevs 4159【hzwer的迷の数列】

题目描述 Description hzwer找了一个人畜无害的迷の数列…… 现在hzwer希望对这个数列进行一些操作,请你来回答hzwer的问题. 操作一:查询第i个数的大小 操作二:把第i个数的大小改成x 操作三:将整个序列反转.即把第i个数放到第n-i+1个. 输入描述 Input Description 输入数据第一行两个数n,m,表示数列长度和操作数. 第二行n个数,表示n个元素初始值. 以下m行,每行开头一个数opr,表示操作种类. opr=1,则后面接一个数i,表示查询第i个数大小.