C#,纽曼-尚克斯-威廉士素数(Newman Shanks Williams prime)的算法与源代码

1 NSW素数

素数是纽曼-尚克斯-威廉士素数(Newman-Shanks-Williams prime,简写为NSW素数)当且仅当它能写成以下的形式:

1981年M. Newman、D. Shanks和H. C. Williams在研究有限集合时,率先描述了NSW素数。

首几个NSW素数为7,41, 239, 9369319, 63018038201, ...,对应指数3, 5, 7, 19, 29, ...

上式中的S可用递归的方法定义,虽然得出来的未必是素数:

S0 = 1S1 = 1Sn = 2Sn - 1 + Sn - 2对于所有这个数列的首几项为1, 1, 3, 7,17, 41,99。这些数亦出现在以连分数表示的√2。

 计算结果:

 计算纽曼-尚克斯-威廉士素数的源程序(内含三种算法):

2 文本格式源程序

using System;

namespace Legalsoft.Truffer.Algorithm
{
    public static partial class Number_Sequence
    {
        public static int Newman_Shanks_Williams_Prime(int n)
        {
            if (n == 0 || n == 1)
            {
                return 1;
            }
            return (2 * Newman_Shanks_Williams_Prime(n - 1) + Newman_Shanks_Williams_Prime(n - 2));
        }

        public static int Newman_Shanks_Williams_Prime_Second(int n)
        {
            int[] dp = new int[n + 1];
            dp[0] = dp[1] = 1;
            for (int i = 2; i <= n; i++)
            {
                dp[i] = 2 * dp[i - 1] + dp[i - 2];
            }
            return dp[n];
        }

        public static int Newman_Shanks_Williams_Prime_Third(int n)
        {
            if (n == 0 || n == 1)
            {
                return 1;
            }
            int a = 1;
            int b = 1;
            for (int i = 2; i <= n; ++i)
            {
                int c = 2 * b + a;
                a = b;
                b = c;
            }
            return b;
        }
    }
}
 

————————————————————

POWER BY TRUFFER.CN 50018.COM

3 代码格式

 

using System;namespace Legalsoft.Truffer.Algorithm
{public static partial class Number_Sequence{public static int Newman_Shanks_Williams_Prime(int n){if (n == 0 || n == 1){return 1;}return (2 * Newman_Shanks_Williams_Prime(n - 1) + Newman_Shanks_Williams_Prime(n - 2));}public static int Newman_Shanks_Williams_Prime_Second(int n){int[] dp = new int[n + 1];dp[0] = dp[1] = 1;for (int i = 2; i <= n; i++){dp[i] = 2 * dp[i - 1] + dp[i - 2];}return dp[n];}public static int Newman_Shanks_Williams_Prime_Third(int n){if (n == 0 || n == 1){return 1;}int a = 1;int b = 1;for (int i = 2; i <= n; ++i){int c = 2 * b + a;a = b;b = c;}return b;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/456037.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【宝藏系列】嵌入式入门概念大全

【宝藏系列】嵌入式入门概念大全 0️⃣1️⃣操作系统&#xff08;Operating System&#xff0c;OS&#xff09; 是管理计算机硬件与软件资源的系统软件&#xff0c;同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输…

Allegro如何把Symbols,shapes,vias,Clines,Cline segs等多种元素一起移动

Allegro如何把Symbols,shapes,vias,Clines,Cline segs等多种元素一起移动 在用Allegro进行PCB设计时,有时候需要同时移动某个区域的所有元素,如:Symbols,shapes,vias,Clines,Cline segs等元素。那么如何操作呢? 首先就是把Symbols,shapes,vias,Clines,Cline …

跑马灯(极简版)

主要参数 behavior&#xff1a;设定滚动的方式 alternate&#xff1a; 表示在两端之间来回滚动。scroll&#xff1a; 表示由一端滚动到另一端&#xff0c;会重复。slide&#xff1a; 表示由一端滚动到另一端&#xff0c;不会重复。 direction&#xff1a;设定活动字幕的滚动…

使用 Python、Elasticsearch 和 Kibana 分析波士顿凯尔特人队

作者&#xff1a;来自 Jessica Garson 大约一年前&#xff0c;我经历了一段压力很大的时期&#xff0c;最后参加了一场篮球比赛。 在整个过程中&#xff0c;我可以以一种我以前无法做到的方式断开连接并找到焦点。 我加入的第一支球队是波士顿凯尔特人队。 波士顿凯尔特人队是…

浏览器提示ERR_SSL_KEY_USAGE_INCOMPATIBLE解决

ERR_SSL_KEY_USAGE_INCOMPATIBLE报错原因 ERR_SSL_KEY_USAGE_INCOMPATIBLE 错误通常发生在使用 SSL/TLS 连接时,指的是客户端和服务器之间进行安全通信尝试失败,原因是证书中的密钥用途(Key Usage)或扩展密钥用途(Extended Key Usage, EKU)与正在尝试的操作不兼容。这意味…

【学网攻】 第(22)节 -- DHCP中继配置

系列文章目录 目录 系列文章目录 文章目录 前言 一、DHCP中继是什么&#xff1f; 二、实验 1.引入 实验目的理解DHCP中继的功能&#xff1b; 实验背景 实验步骤新建Packet Tracer拓扑图 实验设备PC 2台&#xff1b;Server-PT(Web服务器) &#xff0c;Switch_2950-24 …

Unix五种I/O模型(阻塞、非阻塞、多路复用、信号驱动、异步)

文章目录 概要一、I/O基础二、阻塞式I/O三、非阻塞式I/O三、I/O多路复用四、信号驱动I/O五、异步I/O六、小结 概要 在工作中&#xff0c;经常使用Nginx、Redis等开源组件&#xff0c;常提到其高性能的原因是网络I/O的实现是基于epoll&#xff08;多路复用&#xff09;。这次呢…

白酒:新型发酵技术的研究与探索

在白酒酿造过程中&#xff0c;发酵技术是至关重要的环节。云仓酒庄的豪迈白酒在生产过程中&#xff0c;不断研究和探索新型发酵技术&#xff0c;以提升酒的品质和口感。 首先&#xff0c;新型发酵技术有助于提高酒的香气和口感。通过改进发酵工艺和方法&#xff0c;酒庄能够获得…

流式 dbt:RisingWave 流计算的正确打开方式

让我们先来看一则 Reddit 经典提问&#xff1a; “为啥 dbt 如此流行&#xff1f;有没有替代品&#xff1f;” 获赞最多的回答抓住了精髓&#xff1a; “dbt 这么流行是因为它为 SQL 分析师和数据集市构建者提供了 Git 工作流&#xff0c;使得他们可以跟其他软件工程师一样工作…

[Python 安装]

进入Python的官方下载页面 http://www.python.org/download/ 然后进行软件的下载 下载好之后点击exe会出现安装界面&#xff0c;接着进行安装&#xff0c;选择安装路径。 运行Python 安装成功后&#xff0c;打开命令提示符窗口&#xff08;winR,在输入cmd回车&#xf…

Kafka零拷贝技术与传统数据复制次数比较

读Kafka技术书遇到困惑: "对比传统的数据复制和“零拷贝技术”这两种方案。假设有10个消费者&#xff0c;传统复制方式的数据复制次数是41040次&#xff0c;而“零拷贝技术”只需110 11次&#xff08;一次表示从磁盘复制到页面缓存&#xff0c;另外10次表示10个消费者各自…

[UI5 常用控件] 06.Splitter,ResponsiveSplitter

文章目录 前言1. Splitter1.1 属性 2. ResponsiveSplitter 前言 本章节记录常用控件Splitter,ResponsiveSplitter。主要功能是分割画面布局。 其路径分别是&#xff1a; sap.ui.layout.Splittersap.ui.layout.ResponsiveSplitter 1. Splitter 1.1 属性 orientation &#x…