如何制作在给定范围内打印质数的程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何制作在给定范围内打印质数的程序相关的知识,希望对你有一定的参考价值。
我想制作一个程序作为练习,以打印给定限制(参数)范围内的所有素数。我对python不太有经验,所以我希望得到一个简单的答案。在此先感谢:)
答案
您可以使用此列表理解来找到给定范围内的素数;
def prime_generator(number):
return [x for x in range(2, number) if not any(x % y == 0 for y in range(2, int(x/2)+1))]
In: prime_generator(30)
Out: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
另一答案
您需要做的第一件事是创建一个函数,该函数检查给定数字是否为质数。质数到底是什么?质数是一个只能被自身整除的数字,数字1除外,因为所有数字都可以被1整除。因此,请执行以下操作:
bool isPrime(int num)
bool flag=true;
for(int i = 2; i <= num / 2; i++)
if(num % i == 0)
flag = false;
break;
return flag;
好的,您已经获得了功能。现在让我们看看如何称呼它。
首先,您要设置限制。我想您将有一个下限和上限-m
和n
:
int m, n; std::cin >> m >> n; for(signed int i = m; i < n; ++i) if(isPrime(i)) std::cout << i; // this number is prime.
[我读到您在编写所有这些代码后都在使用python:/所以我想尝试将所有这些都重新编写为python。
以上是关于如何制作在给定范围内打印质数的程序的主要内容,如果未能解决你的问题,请参考以下文章