zoukankan      html  css  js  c++  java
  • CF 327B. Hungry Sequence

    B. Hungry Sequence
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Iahub and Iahubina went to a date at a luxury restaurant. Everything went fine until paying for the food. Instead of money, the waiter wants Iahub to write a Hungry sequence consisting of n integers.

    A sequence a1a2, ..., an, consisting of n integers, is Hungry if and only if:

     

    • Its elements are in increasing order. That is an inequality ai < aj holds for any two indices i, j (i < j).
    • For any two indices i and j (i < j)aj must not be divisible by ai.

     

    Iahub is in trouble, so he asks you for help. Find a Hungry sequence with n elements.

    Input

    The input contains a single integer: n (1 ≤ n ≤ 105).

    Output

    Output a line that contains n space-separated integers a1 a2, ..., an (1 ≤ ai ≤ 107), representing a possible Hungry sequence. Note, that each ai must not be greater than 10000000 (107) and less than 1.

    If there are multiple solutions you can output any one.

    Sample test(s)
    input
    3
    
    output
    2 9 15
    
    input
    5
    
    output
    11 14 20 27 31
    //我火星了,其实从100000,开始输出就可以了,但我。。。唉
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    using namespace std;
    #define N 1000000
    int a[N+1]={0},p[N]={2,3};
    int main(){
    	int n,m=2,i,j,k=4;
    	int x,y;
    	for(i=5;i<N;i+=k^=6){
    		if(a[i]==0){
    			p[m++]=i;
    			for(j=i;j<=N/i;j++)a[j*i]=-1;
    		}
    	}
    	//for(i=0;i<100;i++)cout<<p[i]<<" ";
    	//cout<<m<<endl;
    	while(~scanf("%d",&n)){
    		if(n<=m){
    			printf("%d",p[0]);
    			for(i=1;i<n;i++)printf(" %d",p[i]);printf("
    ");
    		}else{
    			printf("10");//5,7,11,....
    			for(i=j=4,x=14,y=15;--n;){
    				if(x>y){
    					printf(" %d",y);
    					y=p[j++]*3;
    				}else{
    					printf(" %d",x);
    					x=p[i++]*2;
    				}
    			}
    			printf("
    ");
    		}
    	}
    return 0;
    }


  • 相关阅读:
    18-[模块]-shutil
    4-linux基本命令
    代码重构之移除对参数的赋值
    代码重构之分解临时变量
    代码重构之引入解释性变量
    代码重构之以查询取代临时变量
    代码重构之内联临时变量
    代码重构之内联函数
    代码重构之提取方法
    JQuery EasyUI validate 扩展
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3177904.html
Copyright © 2011-2022 走看看