C#,阿尔库因数(Alcuin Seqence)算法的源代码及数据可视化

一、Alcuin简史

译为:阿尔库因,阿尔昆,阿尔琴,阿尔克文,阿尔克温等等等等等等等等等等等等。

(Alcuin,约735-804) 中世纪基督教神学家、学者。出生于英国的约克郡,主持约克修道院的学校工作。781年在意大利的帕尔马遇到法兰克国王查理曼大帝,接受邀请赴法兰克王国首都主持宫廷学校,796年出任修道院院长,建立了一所著名的学校和图书馆,使该隐修院成为法兰克王国的学术中心。帮助查理曼大帝复兴了古典文化,并且极大地推动了法兰克王国的学术思想的繁荣。建立了许多学校,协助校订了拉丁文《圣经》,推动了逻辑研究。是加洛林王朝文艺复兴的重要人物,著有许多教育性书籍、诗歌以及大量的书信。

Alcuin著有一本数学问题集,名为《Propositiones ad acuendos juvenes------磨砺年轻人的问题》,其中论述了Alciun数字序列及其应用。
《磨砺年轻人的问题》https://www.math.muni.cz/~sisma/alcuin/anglicky1.pdf

二、Alcuin数的算法

Alcuin数字序列:

三、Alcuin数的应用

Aluin系列具有重大意义:

(1)Alcuin序列a(n)是边为整数且周长为n的三角形数。

(2)Alcuin序列a(n)是具有不同整数边且三角形周长为n+6的三角形数。

C#源代码:

cs 复制代码
using System;
using System.Text;

namespace Legalsoft.Truffer.Algorithm
{
    /// <summary>
    /// 计算 阿尔昆(阿尔库因,阿尔可温) 数字序列的函数
    /// </summary>
    public static partial class Number_Sequence
    {
        /// <summary>
        /// 计算第 n 个 Alciun 数
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static int Alcuin_Number(int n)
        {
            if (n <= 0)
            {
                return 0;
            }
            double v = n;
            double ans = Math.Round((v *v) / 12) -
                  Math.Floor(v / 4) *
                  Math.Floor((v + 2) / 4);

            return (int)ans;
        }
    }
}

显示计算结果的代码:

cs 复制代码
using System;
using System.Text;
using Legalsoft.Truffer.Algorithm

/// <summary>
/// Alcuin Number
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine(Welcome_Lite());          
    sb.AppendLine("<style>");
    sb.AppendLine("sub { color:#AAAAAA;margin-bottom:3px; }");
    sb.AppendLine(".a { font-size:41px;color:#AA0000; }");
    sb.AppendLine(".b { font-size:41px;color:#0000AA; }");
    sb.AppendLine("</style>");
    sb.Append("<font class='a'>A</font>");
    sb.AppendLine("<sub>n</sub> = ");
    for (int i = 1; i <= 150; i++)
    {
        int x = Number_Sequence.Alcuin_Number(i);
        if (x % 2 == 0)
            sb.Append("<font class='a'>" + x + "</font>");
        else
            sb.Append("<font class='b'>" + x + "</font>");
        sb.AppendLine("<sub>" + i + "</sub> ");
    }
    sb.AppendLine(Bye());
    webBrowser1.DocumentText = sb.ToString();
}

POWER BY TRUFFER.CN

相关推荐
云泽80816 分钟前
笔试算法 - 链表篇(一):移除、反转、合并、回文判断全解析
数据结构·c++·算法·链表
菜菜的顾清寒17 分钟前
HOT力扣100(43)二叉树-翻转二叉树
数据结构·算法·leetcode
通信小呆呆18 分钟前
Toeplitz结构及其快速算法详解
算法
YikNjy23 分钟前
break和continue
java·开发语言·算法
春日见24 分钟前
五分钟入门 强化学习---DQN(Deep Q Net)算法与实现
人工智能·python·深度学习·算法·microsoft·机器学习
budingxiaomoli1 小时前
动态规划--斐波那契数列模型
算法·动态规划
IT猿手1 小时前
多目标优化算法:多目标蛇优化算法(Multiple Objective Snake Optimizer,MOSO)(提供MATLAB代码)
开发语言·算法·matlab·动态路径规划·光伏模型参数估计
MegaDataFlowers1 小时前
101.对称二叉树
算法
Jasmine_llq2 小时前
《B3939 [GESP样题 四级] 绝对素数》
数据结构·算法·素数判断算法·数字拆分与反转算法·区间遍历枚举·双条件判断逻辑
郝学胜-神的一滴2 小时前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法