Forever67037 发表于 2021-4-24 11:14:22

新手头秃求助

题目要求编写程序,输出所有由1,2,3,4,这四个数字 组成的素数,并且每个素数中1,2,3,4都只使用一次
但是我不知道怎么写出判断素数的程序啊,QAQ,另外怎么样才能实现把每个符合条件的素数都举出来呢?
真的是想不出来了,拜托各位指点迷津了{:5_99:}

柿子饼同学 发表于 2021-4-24 12:28:55

n = int(input('请输入一个整数'))      
for i in range(2, n):
    if not n % i :
      print('是合数')
      break
    else:
      if i == n-1:
            print('是素数')
      
我写的一个识别素数的程序,可以参考一下{:10_254:}

Hoiste 发表于 2021-4-24 13:13:03

x是否为素数的判断通常是x除以一个从2到x的数i,这个过程中若存在x%i==0,那么这个数就不是素数设置一个开关变量如count=0,如果存在x%i==0,将count赋值为1,循环结束后检查count的值,如果为1,则为合数,为0则为素数。具体代码懒得打了,自己按照这个思路应该不难写一个。

Forever67037 发表于 2021-4-24 19:25:42

Hoiste 发表于 2021-4-24 13:13
x是否为素数的判断通常是x除以一个从2到x的数i,这个过程中若存在x%i==0,那么这个数就不是素数设置一个开 ...

好的,谢谢!我去试试{:5_105:}

不自律的笨鸟 发表于 2021-5-15 03:21:01

感觉要学习的东西还有很多

林小林 发表于 2021-5-15 04:18:21

本帖最后由 林小林 于 2021-5-15 04:20 编辑

import itertools

numbers =
results=[]

# 用1,2,3,4组成数字,长度可能为1到4位数
for n in range(1,5):
    for poss in list(itertools.permutations(numbers,n)):
      sum = 0
      for i in poss:
            sum = sum*10
            sum = sum + i
      # print(sum)
       
        # 判断数字是否为素数
      for j in range(2,sum):
            if not sum%j:
                # print(str(sum) + ' is composite number')
                break
            elif j == sum-1:
                print(str(sum) + ' is prime numbner')

我写的一个程序,包含组成数字和判断素数

傻眼貓咪 发表于 2021-9-5 01:25:41

林小林 发表于 2021-5-15 04:18
我写的一个程序,包含组成数字和判断素数

2 也是素數,你的代碼從 3 開始輸出

我的代碼:
import itertools

nums =

for N in range(1, 5):
    for digit in list(itertools.permutations(nums, N)):
      x = sum()
      if not any() and x > 1:
            print("%4d is Prime Number"%x)

傻眼貓咪 发表于 2021-9-7 15:46:46

from itertools import permutations

f = lambda arr: eval(''.join())
p = lambda arr, n: permutations(arr, n)
isPrime = lambda x: all() and x >= 2

num =
prime = +++ if isPrime(x)]

print(*prime)2 3 13 23 31 41 43 241 421 431 1423 2143 2341 4231
页: [1]
查看完整版本: 新手头秃求助