C#,墨瑟 德·布鲁因数(Moser de Bruijn)的算法与源代码
2023-09-11 14:15:48 时间
墨瑟 德·布鲁因数(Moser de-Bruijn)序列是将数字4(例如,1、4、16、64等)的不同幂相加得到的序列。
计算公式:
1) S(2 * n) = 4 * S(n) 2) S(2 * n + 1) = 4 * S(n) + 1 with S(0) = 0 and S(1) = 1
计算结果:
源程序:
using System;
namespace Legalsoft.Truffer.Algorithm
{
public static partial class Number_Sequence
{
public static int Moser_deBruijn_Number(int n)
{
if (n == 0)
{
return 0;
}
else if (n == 1)
{
return 1;
}
else if ((n % 2) == 0)
{
return 4 * Moser_deBruijn_Number(n / 2);
}
else if ((n % 2) == 1)
{
return 4 * Moser_deBruijn_Number(n / 2) + 1;
}
return 0;
}
public static int Moser_deBruijn_Number_Second(int n)
{
int[] dump = new int[n + 1];
dump[0] = 0;
if (n != 0)
{
dump[1] = 1;
}
for (int i = 2; i <= n; i++)
{
if ((i % 2) == 0)
{
dump[i] = 4 * dump[i / 2];
}
else
{
dump[i] = 4 * dump[i / 2] + 1;
}
}
return dump[n];
}
}
}
————————————————————————
POWER BY TRUFFER.CN
相关文章
- 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码
- Sandcastle入门:创建C#帮助文档
- C#数据结构与算法揭秘17
- C#数据结构与算法揭秘七
- C#网络编程技术SuperSocket实战项目演练
- [C#] c# 验证手机号码 最新的17手机号
- C# VS如何整个项目中查找字符串
- C#中使用SHA1算法对密码进行加密
- 在C#代码中应用Log4Net(二)典型的使用方式
- 重新整理数据结构与算法(c#)——算法套马踏棋算法[三十三]
- 重新整理数据结构与算法(c#)——算法套佛洛伊德算法[三十二]
- 重新整理数据结构与算法(c#)—— 顺序存储二叉树[十九]
- 重新整理数据结构与算法(c#)—— 堆排序[二十一]
- 重新整理数据结构与算法(c#)—— 顺序存储二叉树[十九]
- 重新整理数据结构与算法(c#系列)—— 树的前中后序遍历[十六]
- 数字图像处理 使用C#进行图像处理二
- C# 关于XML遍历新增节点,修改属性小例
- (五十四)c#Winform自定义控件-仪表盘-HZHControls
- Twitter的分布式自增ID算法snowflake(雪花算法) - C#版
- C#获取特定进程CPU和内存使用率
- C#之十大排序算法