有人能帮我写这个简单的素数程序吗?我做不好
Can anyone help me write this simple prime number program, i cant get it right
可能重复:
用于检查素数是否不起作用的C++代码
说明如下:素数是一个只能被1和它自己整除的数。对于这个赋值,你会发现从1到n(其中n是用户指定的数字)中的哪些数字是素数。请用户输入一个大于1的数字n。使用循环对变量i进行从2到n的迭代。对于每次迭代,检查从2到i的所有数字,以确定该数字是否为素数。如果是素数,打印出i和单词"素数"。
这就是我目前所拥有的:
#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
你最好用函数来判断一个数字是否是素数。用这种方式组织你的想法更容易,而且对未来来说是一个很好的实践,在那里你将解决那些组织你的思想将更加困难的问题。
以下是功能概述。
您可以使用筛选算法。请在此处查看算法描述。使用智能解决方案可能会获得额外的积分;)
bool isPrime(int number){
bool isPrime = true;
for(int i = 1; i <= sqrt(number); i++){
if(number%i == 0)isPrime = false;
}
return isPrime;
}
相关文章:
- 显示错误输出的简单数组排序程序
- 简单C++"Hello World"程序的执行时间长
- 而循环:简单的除法程序输出零,不明白为什么
- 为什么一个简单的程序不能立即启动
- 使用简单两相锁定的并发程序
- [[可能]]和[[不太可能]]影响程序汇编的简单示例?
- GDB 8.1 无法在单线程简单程序中跟踪 std::string 变量的值
- 多线程 gtkmm 应用程序最简单的示例
- 我写了一个简单的矢量程序,在其中我得到了以下输出。你能帮我理解它的输出吗?
- 如何使用cmake和Visual Studio 2019编译简单的Windows应用程序?
- 试图解决这个简单的C++程序,但我被困在某个地方
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 无法编译简单的C++17程序
- 如何设置一个简单的CGAL+Qt程序
- Cmake无法在qt-creater/collect2上编译简单的测试程序:错误:ld
- 令牌之前的简单程序预期标识符'('
- 使用Cmake进行简单的CUDA程序
- 我创建了一个简单的程序,但有些地方不对劲
- 编译简单的多文件类程序时出现未定义的引用错误
- 程序简单,没有调用堆栈,"inpossible"查找错误