📜  令人着迷的数字(1)

📅  最后修改于: 2023-12-03 15:22:03.510000             🧑  作者: Mango

令人着迷的数字

数字作为计算机科学的基础,有着多种有趣的特性,让人们对其着迷。在程序开发中,数字也是不可或缺的。以下是一些令人着迷的数字及其特性。

1. 质数

质数是只能被1和自身整除的正整数。质数在密码学和数字通信领域具有重要的应用。

判断是否为质数

以下是一个使用 Python 判断是否为质数的例子:

def is_prime(n):
    if n <= 1:
        return False
    elif n == 2:
        return True
    elif n % 2 == 0:
        return False
    else:
        i = 3
        while i <= int(n ** 0.5) + 1:
            if n % i == 0:
                return False
            i += 2
        return True
查找质数

以下是一个使用 Python 查找质数的例子:

def find_primes(n):
    primes = []
    for i in range(2, n):
        if is_prime(i):
            primes.append(i)
    return primes
2. 费马素数

费马素数又称为费马质数,是指形如2^(2^n)+1(n为0或自然数)的素数。费马素数在密码学中有很重要的应用。

判断是否为费马素数

以下是一个使用 Python 判断是否为费马素数的例子:

def fermat_prime(n):
    if n <= 1:
        return False
    elif n == 2:
        return True
    else:
        for i in range(0, n):
            if 2 ** (2 ** i) + 1 == n:
                return True
            elif 2 ** (2 ** i) + 1 > n:
                return False
        return False
查找费马素数

以下是一个使用 Python 查找费马素数的例子:

def find_fermat_primes(n):
    fermat_primes = []
    for i in range(2, n):
        if fermat_prime(i):
            fermat_primes.append(i)
    return fermat_primes
3. 斐波那契数列

斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在其定义中,每个数都是前两个数之和。

计算斐波那契数列

以下是一个使用 Python 计算斐波那契数列的例子:

def fibonacci(n):
    if n <= 0:
        return []
    elif n == 1:
        return [0]
    else:
        fib_list = [0, 1]
        for i in range(2, n):
            fib_list.append(fib_list[-1] + fib_list[-2])
        return fib_list
4. 黄金分割

黄金分割是指将一条线段分割成两部分,使其中一部分与全长之比等于另一部分与这部分之比。黄金分割数是指这个比例值,约等于1.6180339887。

计算黄金分割

以下是一个使用 Python 计算黄金分割的例子:

golden_ratio = (1 + 5 ** 0.5) / 2