大学生 发表于 2017-10-3 16:13:04

回复 看看

脑萎 发表于 2017-10-4 08:48:19

我要做

justinan 发表于 2017-10-5 01:09:07

本帖最后由 justinan 于 2017-10-7 16:05 编辑

def isprime(num):
    if num > 1:
      for x in range(2,num//2+1):
            if num % x ==0:
                print(num,'is not prime')
                break
      else:
            print(num,'is prime')
    else:
      print('prime must >1')

雁归林 发表于 2017-10-5 12:50:58

基本解法

雁归林 发表于 2017-10-5 13:24:48

def isPrime(n):
    if n<=1:
      return False
    for i in range(2, n):
      if n%i == 0:
            return False
      i += 1
    return True

雁归林 发表于 2017-10-5 13:52:53

import math
def isPrime(n):
    if n<=1:
      return False
    for i in range(2, int(math.sqrt(n)+1)):
      if n%i == 0:
            return False
      i += 1
    return True

邪灵啊 发表于 2017-10-5 22:02:00

感觉不难

小西红柿子 发表于 2017-10-5 22:35:39

def primeNum(elm):
    if elm < 1:
      print("这不是是质数")
    elif elm == 2:
      print("这是质数")
    elif elm % 2 != 0:
      print("这是质数")
    else:
      print("这不是质数")

print("请输入一个自然数:", end= '')
num = input()
primeNum(int(num))

行者木木 发表于 2017-10-6 02:01:10

学习中,先支持!!

qwc3000 发表于 2017-10-6 08:37:44

本帖最后由 qwc3000 于 2017-10-6 08:40 编辑

zhengshu=1000000
def isprime(num):
    # 如果为2或者3时 为质数
    import math
    if num == 2 or num == 3:
      return True
    # 不在6的倍数两侧的一定不是质数
    if num % 6 != 1 and num % 6 != 5:
      return False
    # 取num的平方根
    tmp = int(math.sqrt(num))+1
    #在6的倍数的两侧的也可能不是质数
    for i in range(5, tmp, 6):
      if num % i == 0 or num % (i+2) == 0:
            return False
    #是质数
    return True
# print("zhishu:" , isprime(7))
for i in range(1 , zhengshu+1):
   if isprime(i):
       print("质数:",i)

铭起 发表于 2017-10-6 10:48:20

支持

Cathaysian 发表于 2017-10-8 12:01:07

本帖最后由 Cathaysian 于 2017-10-8 12:10 编辑

import time
# number = int(input())
number = 1231231231231231232132343464575686978958675463445
time.clock()
if number > 2:
    for each in range(0, (number-3)//2+1, 2):
      if number % (3 + each) == 0:
            print("False %s" % (time.clock()))
            break
    else:
      print("True %s" % (time.clock()))
elif number == 2:
    print("True %s" % (time.clock()))

wukangwi 发表于 2017-10-10 09:37:52

看看

天黑收衣服 发表于 2017-10-10 20:57:52

来朝圣的{:5_91:}

gaozhilie 发表于 2017-10-11 21:50:34

y = int(input('Enter a number here:'))
x = int(y/2)
while x>1:
    if y%x == 0:
      print(y,'has factor',x)
      break
    x-=1
else:
    print(y,'is prime')

timeislife 发表于 2017-10-18 20:32:21

def ifprime(num):
    for i in range(2,num//2):
      if num%i == 0:
            return False
            break
    else:
      return True

ooxx7788 发表于 2017-10-19 08:55:34

看看高级的

墨夜 发表于 2017-10-19 09:32:22

经济和环境

cj_yzdy 发表于 2017-10-19 09:50:54

shu = int(input('input your number:'))
if (shu%2 != 0) and (shu%3 != 0) and (shu%5 != 0) and (shu%7 != 0):
    print(shu,"是质数!")
else:
    print(shu,'是合数!')
这样可以吗

colinshi 发表于 2017-10-19 15:00:09

对我来说太难了。。。
页: 1 [2] 3
查看完整版本: Python:每日一题 效率题