Description
我们定义由n个整数组成的序列a1,a2,...,an是饥饿序列,当且仅当:
1、它的元素是以递增的顺序,即对于任何两个下标i,j(i <j)满足不等式ai <aj。
2、对于任何两个下标i和j(i <j),aj不能被ai整除。
请你找到包含n个元素的饥饿序列。
Input
只有一个单独的整数n(1 ≤ n ≤ 105)
Output
输出一行由空格分隔的n个整数a1 a2,...,an(1≤ai≤107),表示可能的饥饿序列。
注意,每个ai不能大于10000000且不能小于1。
如果有多个解决方案,您可以输出任何一个。即与样例输出不相同也有可能是正确的。
Sample Input
Input1:
3
Input2:
5
Sample Output
Output1:
2 9 15
Output2:
11 14 20 27 31
#include<stdio.h>
#define N 10000000
int b[N];
int prime()
{
int i,j;
for(i=2;i<N;i++)
b[i]=1;
for(i=2;i<N;i++)
{
if(b[i])
{
for(j=2*i;j<N;j=j+i)
b[j]=0;
}
}
return 0;
}
int main()
{
int n,i,j;
prime();
while(~scanf("%d",&n))
{
i=2;
j=1;
while(j<=n)
{
if(b[i]==1)
{
printf("%d",i);
if(j!=n)
printf(" ");
j++;
}
i++;
}
printf("\n");
}
return 0;