求c++大神看看我这代码有什么问题
题目是这样的:输入一个10000以内的整数n,输出第n个质数。例如输入10,输出29
我的代码:
#include<iostream>
using namespace std;
int main()
{
int n,v=1,u=0,s=2;
cin>>n;
if(n<=10000&&n>0)
{
for(int i=1;v!=n;i+=2)
{
for(int y=2;y<=i-1;y++)
{
if(i%y!=0)
{
u+=1;
}
}
if(u==i-2)
{
v+=1;
}
s=i;
}
cout<<s;
}
else
cout<<"error";
return 0;
}
求大神帮我订正一下,看看有什么错误的地方!
因为我编译运行后居然是这样的
然而1和2却可以
求大神帮我看看,多谢!!!
#include<iostream>
using namespace std;
int main()
{
int n,v=1,u=0,s=2;
cin>>n;
if(n<=10000&&n>0)
{
for(int i=2;n;i++)//error1:for(int i=1;v!=n;i+=2)
{
for(int y=2;y<=i-1;y++)
if(i%y==0)//error3:if(i%y!=0)
break;//Error2:u+=1;
if(y>i-1)//error3:if(u==i-2)
{
n--;
s=i;
}
}
cout<<s<<endl;
}
else
cout<<"error";
return 0;
}
下一篇:这电脑可以吃鸡吗?多少fps?
热门标签: