给定两个正整数l和r,求区间[l,r]内素数的个数。如下代码是一个经典的计算过程请将程序补充完整。
输人格式:
第1行有两个整数,分别代表询问次数n和给定区间的右端点最大值m。接下来n行,每行两个整数l和r,代表一次查询。
输出格式:
对于每次查询输出一行,若l,r∈[1,m],则输出区间内素数的个数,否则输出Crossing the line.
输入样例:
2 5
1 3
1 6
输出样例:
2
Crossing the line
①处应填()
i <= m
i * i <= m
i <= n
i *i<= n
②处应填()
int j= 1
int j= 2
int j= i
int j=i *i
③处应填()。
is_prime[j]= true
is_primeli] = true
is_prime[j] = false
is_prime[i]= false
④处应填()
sum[i]++
sum[i]+= sum[i-1]
sum[i]= sum[i - 1]
sum[i]=sum[i-1]+ 1
⑤处应填()
sum[r+1]- sum[l]
sum[r+1]- sum[l-1]
sum[r]=sum[l-1]
sum[r]-sum[l]
发表评论