首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python程序,用于查找斐波那契数列中的素数

python程序,用于查找斐波那契数列中的素数
EN

Stack Overflow用户
提问于 2021-02-23 06:01:58
回答 1查看 35关注 0票数 0

大家好,很抱歉给大家带来了麻烦。我需要在我的编码课上解决这个问题,但我不知道从哪里开始。

编写一个函数my_n_fib_primes(n),其中输出fib_primes是前n个数字的列表,前n个数字既是斐波那契数又是质数。请注意,1不是使用n= 9的prime.Test。

以上就是我应该做的,到目前为止我已经做到了这一点。

代码语言:javascript
复制
def my_n_fib_primes(n):
    n0=0
    n1=1
    fib_primes = []
    count = 0
    while count < n:
        count += 1
        nth = n0 + n1
        n0 = n1
        n1 = nth
        fib_primes.append(n0)
    return fib_primes
my_n_fib_primes(9)

我知道我还没有做出任何真正的尝试来实现质数。我只是想不出一种方法来实现它,并且只在数字是质数的时候才使计数增加。

我也已经有一个寻找质数的代码,如果这个数字是质数,那么返回数字1,如果不是,返回0。这个代码是这样的。

代码语言:javascript
复制
def my_is_prime(n):
    out = 1
    if n > 1:
        for i in range(2,n//2):
            if (n % i) == 0:
                out = 0
    else:
        out = 1
    return out

谁能给我指个方向?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-02-23 06:05:07

在将数字添加到列表之前,在循环中调用质数检查器。

代码语言:javascript
复制
def my_n_fib_primes(n):
    n0=0
    n1=1
    fib_primes = []
    while len(fib_primes) < n:
        nth = n0 + n1
        n0 = n1
        n1 = nth
        if my_is_prime(n0):
            fib_primes.append(n0)
    return fib_primes

不需要count变量,只需使用结果列表的长度即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66324090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档