www.jbmf.net > python编写函数判断素数

python编写函数判断素数

import math def IsPrime(Num):if Num ==1:return False for n in range(2,int(math.sqrt(Num))+1):if Num%n==0:return False else:return True n=input('输入你要判断的数:') n=int(n) if IsPrime(n)==True:print(n,'是素数') else:print(n,'不是素数') oList

num = int(input("请输入一个大于3的数:"))# num = 7# 为 n 赋初值毫无意义,n = 2 去掉了 flag = False# 只要有一个 2 到 num - 1 的数,能整除 num, 那 num 就不是素数,所以需要这个 flag for n in range(2, num):# 这种写法的 for 语句含义

代码如下:#coding=utf-8def is_prime(n): for j in range(2, n): if n % j == 0: return False return Trueif __name__ == '__main__': try: num = int(input('请输入一个大于1的正整数:')) if num < 1: raise ValueError("输入错误!") except ValueError:

def f(n): if n < 2 or n == 4: return False elif n == 2 or n == 3 or n == 5: return True for i in range(2, int(n/2)+1): if n % i == 0: return False return Truen = int(input('请输入一个数字:'))if f(n): print('是质数')else: print('不是质数')

import mathdef IsPrime(Num): if Num ==1: return False for n in range(2,int(math.sqrt(Num))+1): if Num%n==0: return False else: return TrueoList = []for i in range(1,101): if IsPrime(i)==True: oList.append(i)else: print oList

from random import *a=[randint(0,100)for i in range(40)] #a是列表def is_prime(a): list_num = [] for i in a: for num in range(2,i): if i%num == 0:#余数为0时,该数就不是质数 break #break意思就是当该数不是质数时,就跳出整个循环 else: #循环迭代都完成后还没有找出能整除的情况,就可以判断该数i就是一个质数 list_num.append(i) return list_numprint(is_prime(a))

num = int(input("please enter the number:"))for i in range(2, num):if num % i == 0:print(" %d is not a prime number!" % num)breakelse:print(" %d is a prime number!" % num)

#include <math.h>#include <stdio.h> int isprime(int i); int main(void) { int c = 0, i; for (i=100; i<1000; i++) if (isprime(i)) { printf("%4d", i); c++; /* 每行显示5个数 */ if (c%5 == 0) printf("\n"); } return 0; } int isprime(int i) { int x; int y = (int)ceil(sqrt(i)

拆分一下啊.首先是x取值1-99 然后对后面的语句进行判断,如果是False就输出L1,即对应的x值.后面的语句可以理解为:y取值(2,x/2+1),在这里面遍历.如果对任一个y有x % y == 0那么返回值为1,就被if not 否掉了.这一步就是判断素质数.输出的应该是质数而不是素数吧?

# 探测法:def isprime(n): i = 2 while i <= pow(n,0.5) and n % i : i += 1 return n == 2 or n % i > 0 ans=[i for i in range(101,201) if isprime(i)]# 埃拉托斯特尼筛法 def primefilter(n): d = dict() for i in range(2, int(pow(n,0.5))+1): for j in range(i*i,n,i): d[j] =

网站地图

All rights reserved Powered by www.jbmf.net

copyright ©right 2010-2021。
www.jbmf.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com