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

cairencong 2018-01-23

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

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

基于定义

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

考虑合数的性质

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以内的素数

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以内的素数

代码如下所示:

#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");
}

总结

相关推荐

zhuxianfeng / 0评论 2020-02-09