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

yipeiwu_com6年前Python基础

质数又称素数。一个大于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");
}

总结

以上所述是小编给大家介绍的Python求出0~100以内的所有素数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python实现二叉堆

Python实现二叉堆

优先队列的二叉堆实现 在前面的章节里我们学习了“先进先出”(FIFO)的数据结构:队列(Queue)。队列有一种变体叫做“优先队列”(Priority Queue)。优先队列的出队(De...

基于Python执行dos命令并获取输出的结果

这篇文章主要介绍了基于Python执行dos命令并获取输出的结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import os...

flask 使用 flask_apscheduler 做定时循环任务的实现

我是初学者,对 flask 很陌生,网上搜到的文章都看不懂,很尴尬。 本意是打算对广发信用卡diy卡积分兑换签帐额的数量进行爬虫监控。将抓取到的余量通过钉钉机器人发送到群里。爬虫代码就...

python smtplib模块自动收发邮件功能(二)

python smtplib模块自动收发邮件功能(二)

接上篇python smtplib模块自动收发邮件功能(一) ,用python smtplib模块实现了发送邮件程序了,那么接下来我们需要现在要解决的问题如何在 test_report\...

浅析PEP570新语法: 只接受位置参数

最近 PEP 570被接受了,其实要加的这个Positional-Only Parameters原来在内置的C函数上有很多都用到了: In : __builtin__.eval Ou...