```c++
#include <iostream>
using namespace std;
unsigned short prime[7000]={2};
int sum_prime=0;
void CreatePrimes() //创建一个素数表
{
int i,j,k;
for(i=3,j=1;i<65536;i+=2)
{
for(k=3;k*k<=i;k+=2)if(i%k==0)break;
if(k*k>i)
{
prime[j++]=i;
sum_prime++;
}
}
}
int NextPrime(int N,int X){
if(N<=prime[sum_prime]){ //判断是否在素数表内
for(int i=0;i<=sum_prime;i++){
if(N==prime[i])
return X=prime[i];
if((N>prime[i])&&(N<prime[i+1]))
{
return X=prime[i+1];
}
}
}
else //素数表整除法找下一个素数
while(N){
if(N>2147483647)
break;
bool flag=0;
for(int j=0;prime[j]*prime[j]<=N;j++){
if(N%prime[j]==0)
{
N++; flag=1;break;
}
}
if(flag==0)
return N;
}
}
int main(void)
{
int ni,no;
CreatePrimes();
while(1){
cout<<"请输入一个大于1的整数"<<endl;
cin>>ni;
if(ni<1)
break;
if( NextPrime(ni,no)>2147483647||NextPrime(ni,no)<3)
cout<<"Out of range"<<endl;
else cout<<NextPrime(ni,no)<<endl;
}
return 0;
}
```
不知道你这个问题是否已经解决, 如果还没有解决的话:MIPS的全称为Microprocessor without interlocked piped stages,即“无内部流水线互锁的微处理器”(现代微处理器的设计中需要一种称为流水线的技巧来提高微处理器的性能,而流水线之间的互锁则是导致微处理器性能降低的一个重要因素)。MIPS由美国斯坦福大学教授John Hennessy于20世纪80年代初领导的团队设计。
MIPS的主要特点有以下几个:
1)具有固定的指令长度(32-bit)。这与x86不同长度的指令形成对比,简化了从存储器取指令的过程;
2)寻址方式简单,简化了从存储器取操作数的过程,但是需要较为复杂的汇编程序控制;
3)指令数量少,每条指令功能简单(每条指令只完成一个底层操作),简化了指令的执行过程,并提高了指令的执行效率;
4)只有Load和Store指令可以访问寄存器,这与x86可通过算术指令访问存储器的方式截然相反。由于访存过程较为复杂,MIPS这种设计理念使运算指令的实现变得简单。
5)由于MIPS的上述特点,编写控制MIPS的程序变得复杂,因此需要性能优秀的编译器的支持。