C#,哥伦布数(Golomb Number)的算法与源代码

1 哥伦布数(Golomb Number)

哥伦布数(Golomb Number)是一个自然数的非减量序列,使得n在序列中正好出现G(n)次。前几个15的G(n)值为:1 2 2 3 3 4 4 4 5 5 5 6 6 6 6

计算结果:

2 源程序,文本格式

using System;

namespace Legalsoft.Truffer.Algorithm
{
    /// <summary>
    /// 哥伦布数(Golomb Number)
    /// 哥伦布数(Golomb Number)是一个自然数的非减量序列,使得n在序列中正好出现G(n)次。
    /// 前几个15的G(n)值为:1 2 2 3 3 4 4 4 5 5 5 6 6 6 6
    /// </summary>
    public static partial class Number_Sequence
    {
        /// <summary>
        /// 哥伦布数(Golomb Number)的原始(递归)算法
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static int Golomb_Number(int n)
        {
            if (n == 1)
            {
                return 1;
            }
            return 1 + Golomb_Number(n - Golomb_Number(Golomb_Number(n - 1)));
        }

        /// <summary>
        /// 哥伦布数(Golomb Number)的改进(非递归)算法
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static int Golomb_Number_Second(int n)
        {
            int[] dp = new int[n + 1];
            dp[1] = 1;
            for (int i = 2; i <= n; i++)
            {
                dp[i] = 1 + dp[i - dp[dp[i - 1]]];
            }
            return dp[n];
        }
    }
}

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

POWER BY TRUFFER.CN

3 代码格式

using System;namespace Legalsoft.Truffer.Algorithm
{/// <summary>/// 哥伦布数(Golomb Number)/// 哥伦布数(Golomb Number)是一个自然数的非减量序列,使得n在序列中正好出现G(n)次。/// 前几个15的G(n)值为:1 2 2 3 3 4 4 4 5 5 5 6 6 6 6/// </summary>public static partial class Number_Sequence{/// <summary>/// 哥伦布数(Golomb Number)的原始(递归)算法/// </summary>/// <param name="n"></param>/// <returns></returns>public static int Golomb_Number(int n){if (n == 1){return 1;}return 1 + Golomb_Number(n - Golomb_Number(Golomb_Number(n - 1)));}/// <summary>/// 哥伦布数(Golomb Number)的改进(非递归)算法/// </summary>/// <param name="n"></param>/// <returns></returns>public static int Golomb_Number_Second(int n){int[] dp = new int[n + 1];dp[1] = 1;for (int i = 2; i <= n; i++){dp[i] = 1 + dp[i - dp[dp[i - 1]]];}return dp[n];}}
}

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

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

相关文章

Leetcode2855. 使数组成为递增数组的最少右移次数

Every day a Leetcode 题目来源&#xff1a;2855. 使数组成为递增数组的最少右移次数 解法1&#xff1a;暴力 由于右移 n 次就变回原数组了&#xff0c;所以答案至多为 n−1。 枚举右移次数&#xff08;1~n-1&#xff09;&#xff0c;每次右移一个元素后判断数组是否有序&…

MATLAB实现随机森林(RF)回归与自变量影响程度分析

本文分为两部分&#xff0c;首先是对代码进行分段、详细讲解&#xff0c;方便大家理解&#xff1b;随后是完整代码&#xff0c;方便大家自行尝试。另外&#xff0c;关于基于MATLAB的神经网络&#xff08;ANN&#xff09;代码与详细解释&#xff0c;我们将在后期博客中介绍。 1…

算法练习-二叉树的节点个数【完全/普通二叉树】(思路+流程图+代码)

难度参考 难度&#xff1a;中等 分类&#xff1a;二叉树 难度与分类由我所参与的培训课程提供&#xff0c;但需要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0c;旨…

2024年美赛B题潜水器定位和搜救建模代码和完整论文文档

目前已完成2024年美赛B题潜水器定位和搜救的建模代码和论文编写&#xff0c;部分文章内容和代码如下&#xff1a; 摘要 在海洋探险和搜救领域&#xff0c;潜水器的定位和搜救任务具有重要意义。本文旨在开发一系列模型来预测潜水器位置、分析不确定性、确定信息传递策略、建议…

[UI5 常用控件] 05.FlexBox, VBox,HBox,HorizontalLayout,VerticalLayout

文章目录 前言1. FlexBox布局控件1.1 alignItems 对齐模式1.2 justifyContent 对齐模式1.3 Direction1.4 Sort1.5 Render Type1.6 嵌套使用1.7 组件等高显示 2. HBox,VBox3. HorizontalLayout&#xff0c;VerticalLayout 前言 本章节记录常用控件FlexBox,VBox,HBox,Horizontal…

说说RDB和AOF

简介&#xff1a; 众所周知&#xff0c;redis是一个内存数据库&#xff0c;当机器重启后&#xff0c;内存中数据都会丢失。所以redis提供了两种持久化方式&#xff0c;即&#xff1a;RDB(保存一个时间点前的数据)和AOF(保存redis服务器端执行的每一条命令)。 RDB: RDB有两种…

Web实战丨基于django+hitcount的网页计数器

文章目录 写在前面Django简介主要程序运行结果系列文章写在后面 写在前面 本期内容 基于djangohitcount的网页计数器 所需环境 pythonpycharm或vscodedjango 下载地址 https://download.csdn.net/download/m0_68111267/88795611 Django简介 Django 是一个开源的、基于 …

DES加密原理

DES加密算法综合运用了置换、代替、代数等多种密码技术&#xff0c;具有设计精 巧、实现容易、使用方便等特点。DES加密算法的明文、密文和密钥的分组长度 都是64位&#xff0c;详细的DES加密算法结构如图6-10所示。 图6-10 DES加密算法结构图 DES加密过程如下所示&#xff…

Linux系统漏洞一键检测与修复工具

支持检测及修复漏洞的列表 OpenSSL CVE-2021-3712 OpenSSH CVE-2021-41617 sudo CVE-2021-3156 glibc CVE-2018-11236 polkit CVE-2021-4034 wget CVE-2017-13090 kernel CVE-2016-5195 bash CVE-2016-7543 samba CVE-2021-…

代码随想录第二十四天| 回溯算法● 理论基础 ● 77. 组合

文章目录 理论基础![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/09da30301c104f02baf792ccbf39da15.png)效率回溯法解决的问题如何理解回溯法回溯法模板 77.组合思路&#xff1a;回溯法三部曲 代码&#xff1a;思路-剪枝代码&#xff1a; 理论基础 效率 虽然回…

后端——go系统学习笔记(不断更新中......)

数组 固定大小 初始化 arr1 : [3]int{1, 2, 3} arr2 : [...]int{1, 2, 3} var arr3 []int var arr4 [4]int切片 长度是动态的 初始化 arr[0:3] slice : []int{1,2,3} slice : make([]int, 10)len和cap len是获取切片、数组、字符串的长度——元素的个数cap是获取切片的容量—…

Elasticsearch-内存结构

ElasticSearch的内存从大的结构可以分堆内存&#xff08;On Heap&#xff09;和堆外内存&#xff08;Off Heap&#xff09;。Off Heap部分由Lucene进行管理。On Heap部分存在可GC部分和不可GC部分&#xff0c;可GC部分通过GC回收垃圾对象&#xff0c;从而释放内存。不可GC部分不…