日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现连环阵

發布時間:2024/3/13 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现连环阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python實現連環陣

  • 題目描述
  • 要求
  • 樣例輸入
  • 樣例輸出

題目描述

杰洛特主動出擊狂獵的老巢,然而在此之前,他遇到了一個女術士,杰洛特想要女術士助自己一臂之力,她卻出了一個難題給杰洛特,只有答對了才能與他同行。 女術士給杰洛特一個四位數的素數,要求他說出這個四位數的數字的另外兩個四位素數(從小到達輸出)滿足下面條件。

要求

  • 另外兩種組合的四位數也必須是素數
  • 這三個四位數構成等差數列
  • 如果沒有符合條件的組合, 則返回no
  • 樣例輸入

    4817
    1232

    樣例輸出

    1487 4817 8147
    no

    from itertools import permutations # 這個模塊用來全排列列表def judge_particle(num):"""判斷數字是否為素數:return: 布爾值(為素數返回True)"""is_true = Trueif num == 0 or num == 1:is_true = Falsefor i in range(2, num):if num % i == 0:is_true = Falsereturn is_trueclass interlink: # 連環陣類def __init__(self, num):self.num = numself.list = []def arrange(self):"""對四位數進行全排列,給出所有可能:return:無"""temp = self.numself.list = list(num for num in list(str(temp)))self.list = list(permutations(self.list))self.list = list(int("".join(i)) for i in self.list)self.list = list(num for num in self.list if num > 1000)k = 0for i in range(len(self.list)):if not judge_particle(self.list[i - k]):self.list.remove(self.list[i - k])k += 1def find_result(self):"""找到全排列后的全部素數:return: 無"""temp = []for i in range(len(self.list)):for j in range(len(self.list)):if (self.num - self.list[i] == self.list[j] - self.num or self.list[i] - self.num == self.list[j] - self.list[i] or self.list[j] - self.list[i] == self.num - self.list[j]) and self.list[i] != self.list[j]:temp.append(self.list[i])temp.append(self.list[j])temp.append(self.num)temp.sort()print("{} {} {}".format(temp[0], temp[1], temp[2]))returnprint("No")if __name__ == '__main__': # 程序開關end = ""while end != "y" and end != "Y":while True:try:use_input = int(input("請輸入一個四位素數:"))if 1000 <= use_input <= 9999:if judge_particle(use_input):breakelse:print("輸入的四位整數必須為素數,{}不是素數!".format(use_input))print("No")continueelse:print("輸入的必須為四位整數且為素數!")continueexcept ValueError:print("輸入的必須為整數(4位)且為素數!")num = interlink(use_input) # num.arrange() # 全排列num.find_result() # 打印結果end = input("是否退出(y/n)")

    總結

    以上是生活随笔為你收集整理的python实现连环阵的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。