不是VIP会员,不能显示答案

题目解答

题目:
#include <iostream>

using namespace std;



const int maxn =10000000;

int n,size ;

int prime[maxn+5];

bool vis[maxn+5];



int main() {

cin >>n;

size = 0;

for (int i= 2; i<=n; ++i) {

if (!vis[i]) {

size = size + 1;

prime[size]= i;

}

for (int j=1; i*prime[j]<=n; ++j) {

vis[i * prime[j]]= 1;

if (i % prime[j]==0)

break ;

}

}

int sum = 0;

for (int i=1; i<=size; ++i)

sum=sum + prime[i];

cout<<sum<<endl;

return 0;

}


判断题

1) n必须小于等于10000004,否则程序可能会运行时错误。

2) 输出可能为1。( )

3) 若输入为1000000,那么程序会输出小于等于1000000的质数之和。( )

4) 该程序的输出含又是小于等于n的所有质数之和。()




选择题

5) 若输入n为40,那么输出为( )。

6) (2.5分)若输出的答案在500000~500000之间,那么n的量级约为( )。

7) (2.5分)该程序的复杂度为( )
考点:
分析:
解答:
评论:
老师: