AI人工智能 查找素?cái)?shù)

2020-09-23 16:12 更新

在邏輯編程的幫助下,可以從數(shù)字列表中出素?cái)?shù),也可以生成素?cái)?shù)。 下面給出的 Python 代碼將從數(shù)字列表中找到素?cái)?shù),并且還會(huì)生成前 10 個(gè)素?cái)?shù)。

首先導(dǎo)入以下軟件包 -

from kanren import isvar, run, membero
from kanren.core import success, fail, goaleval, condeseq, eq, var
from sympy.ntheory.generate import prime, isprime
import itertools as it

現(xiàn)在,我們將定義一個(gè)名為 prime_check 的函數(shù),它將根據(jù)給定的數(shù)字檢查素?cái)?shù)作為數(shù)據(jù)。

def prime_check(x):
    if isvar(x):
        return condeseq([(eq,x,p)] for p in map(prime, it.count(1)))
    else:
        return success if isprime(x) else fail

現(xiàn)在,聲明一個(gè)變量 -

x = var()
print((set(run(0,x,(membero,x,(12,14,15,19,20,21,22,23,29,30,41,44,52,62,65,85)),
(prime_check,x)))))
print((run(10,x,prime_check(x))))

上述代碼的輸出如下 -

{19, 23, 29, 41}
(2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號