输入一个10000以内的正整数x,判断该数是否为质数。
如果不是质数,输出-1,否则输出x在10000以内的所有质数中的排名。
比如,x=7时,小于等于7的质数有2,3,5,7,排在第4。
#include<bits/stdc++.h> using namespace std; int x,c=0,L,R,Mid,a[1500]; bool flag[10010]; void prime() { for(int i=2;i<=10000;i++) { if(____(1)____) { c++; a[c]=i; for(int j=i+i;j<=10000;____(2)____) flag[j]=false; } } } int main() { cin>>x; for(int i=2;i<=10000;i++) flag[i]=true; prime(); if(____(3)_____) cout<<-1; else { L=1; _____(4)______ while(L<=R) { _____(5)_____ if(a[Mid]==x) break; else if(a[Mid]>x) R=Mid-1; else L=Mid+1; } cout<<Mid; } return 0; }