【发布时间】:2017-11-02 15:05:42
【问题描述】:
我需要编写一个程序来计算输入的 N 个从 N-10 到 N+10 范围内的所有素数。我不知道我做错了什么。为什么 Y 没有增加?
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int N, Y;
bool Prime=true;
cout<<"Enter N: ";
cin>>N;
Y=N;
for (int i=1; i<=N+10;i++){
for(int k = 2; k <= sqrt(Y); k++,Y++){
if(Y%k== 0) {
Prime = false;
}
}
if(Prime && Y>1)
cout<< "Number " <<Y
<< " is Prime."<<endl;
}
}
【问题讨论】:
-
你能评论你的代码吗?因为你的变量对我来说毫无意义
-
你在内部循环中增加
Y。 -
这段代码有很多问题,很难知道从哪里开始。
-
我是初学者。不是专业人士。是的,我知道我在内部循环中增加 Y,但是当你运行程序时它不起作用......:/
-
外部循环应该是
for(Y = N-10; Y <= N+10; Y++),而不是内部的Y。