讯飞机试
一、
输入
第一行 1个数:输出的素数个数 n
第二行 n个数:n1 n2 ...(n1是第n1个素数,n2是第n2个素数)
第三行: 具体的 素数值
#include<iostream> #include<cmath> using namespace std; const int N=100001; int S[N]={0}; int H[N]={0}; bool IsNum(int n) { int flag=0; for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { flag=1; break; } } if(flag==0 ) { return 1; } else { return 0; } } int GetNum(int n) { int i=1; int a=2; while(i<=n) { if(IsNum(a)==1) { S[i]=a; i++; } a++; } } int main() { int h; cin>>h; for(int i=1;i<=h;i++) { cin>>H[i]; } int Max=H[1]; for(int i=2;i<=h;i++) { if(Max<H[i]) { Max=H[i]; } } GetNum(Max); for(int i=1;i<=h;i++) { cout<<S[H[i]]<<endl; } return 0; }
输出两个素数,第一个下标为1,第二个下标为3,分别为2 和5。