Python求出0~100以内的所有素数

时间:2022-01-15 01:14:07

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

一、判断一个数是否为素数:

基于定义

?
1
2
3
4
5
6
7
8
def is_prime(num):
  if num <= 1:
    return '%d是一个合数' % num
  for i in range(2, num):
    if not num % i:
      return '%d是一个合数' % num
  else:
    return '%d是一个素数' % num

考虑合数的性质

?
1
2
3
4
5
6
7
8
def is_prime(num):
  if num <= 1:
    return '%d是一个合数' % num
  for i in range(2, int(num/2)+1):
    if not num % i:
      return '%d是一个合数' % num
  else:
    return '%d是一个素数' % num

二、求出0~100以内的素数

?
1
2
3
4
5
6
7
8
9
10
11
def all_prime(num):
  lst = []
  if num <= 1:
    return '0 ~ %d以内没有任何素数' % num
  for i in range(2, num+1):
    for j in range(2, int(i/2)+1):
      if not i % j:
        break
    else:
      lst.append(i)
  return lst

ps:下面看下小编写的C语言求1-100以内的素数

代码如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <math.h>
void main()
{
for (int i = 1; i <= 100; ++i)
{
int j = 2;
for (; j<=sqrt(i); ++j)
{
if (i%j == 0)
break;
}
if (j>sqrt(i) && i != 1)
printf("%d ", i);
}
system("pause");
}

总结

以上所述是小编给大家介绍的Python求出0~100以内的所有素数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://www.jianshu.com/p/d6c98e1944c2