C++ 有人能帮我写这个简单的素数程序吗?我做不好

C++ 有人能帮我写这个简单的素数程序吗?我做不好,c++,C++,可能重复: 说明如下: 素数是一个只能被1和它本身整除的数。对于该赋值,您将发现从1到n的数字中,其中n是用户指定的数字,哪些是素数。 请用户输入一个大于1的数字n。 使用循环从2到n对变量i进行迭代。对于每次迭代,检查从2到i的所有数字,以确定该数字是否为素数。如果是prime,打印出i和prime这个词 这就是我到目前为止所做的: #include<iostream> using namespace std; int main() { int i; int

可能重复:

说明如下: 素数是一个只能被1和它本身整除的数。对于该赋值,您将发现从1到n的数字中,其中n是用户指定的数字,哪些是素数。 请用户输入一个大于1的数字n。 使用循环从2到n对变量i进行迭代。对于每次迭代,检查从2到i的所有数字,以确定该数字是否为素数。如果是prime,打印出i和prime这个词

这就是我到目前为止所做的:

 #include<iostream>
 using namespace std;

 int main()
 {
   int i;
   int n;
   cout << "Enter a number greater than 1" << endl;
   cin >> n;

  bool isPrime=true;
  for(i=0; i<=n; i++)
    {
      if (n%i == 0)
        isPrime=false;
    }
  if(isPrime == true)
  cout << i << " is Prime!" << endl;

  return 0;
  }

我不会用工作代码回答一个可疑的家庭作业问题,所以请使用以下伪代码:

main:
    get number from stdin
    loop from 2 to number:
        if number isprime:
            print number " is prime!"
        increment number
    exit

isprime:
    loop from 2 to number - 1:
        if loop counter evenly divides number
            return false
    return true
如果使用一个函数来计算一个数字是否为素数,你会有更好的运气。以这种方式组织你的想法更容易,并且为将来提供良好的实践,在未来你将解决那些组织你的想法更难的问题


我不会用工作代码回答一个可疑的家庭作业问题,所以请使用以下伪代码:

main:
    get number from stdin
    loop from 2 to number:
        if number isprime:
            print number " is prime!"
        increment number
    exit

isprime:
    loop from 2 to number - 1:
        if loop counter evenly divides number
            return false
    return true
如果使用一个函数来计算一个数字是否为素数,你会有更好的运气。以这种方式组织你的想法更容易,并且为将来提供良好的实践,在未来你将解决那些组织你的想法更难的问题


您可以使用筛子算法来实现这一点。查找算法描述。可能因使用智能解决方案而获得额外积分

您可以使用筛选算法进行此操作。查找算法描述。可能因使用智能解决方案而获得额外积分

想想当i==n时会发生什么,循环应该在最后一次迭代中到达它。这听起来像是一个家庭作业问题。家庭作业问题会被贴上家庭作业标签。在你的脑子里循环几圈。你应该很快注意到一些奇怪的事情。再一次。更好的是,在调试器中运行几轮。拒绝做作业,理由是效率极低的基本测试至少应该是创造性的。想想当i==n时会发生什么,你的循环应该在最后一次迭代中到达它。这闻起来像是一个家庭作业问题。家庭作业问题会被贴上家庭作业标签。在你的脑子里循环几圈。你应该很快注意到一些奇怪的事情。然后再重复一遍。更好的是,在调试器中运行几轮。拒绝执行该任务,理由是效率低下的基本测试至少应该是创造性的。