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

相关推荐
yuuki23323315 分钟前
【C++】类和对象(上)
c++·后端·算法
dangdang___go22 分钟前
动态内存管理||malloc和free.realloc和calloc
c语言·开发语言·算法·动态内存管理
r***186434 分钟前
如何使用C#与SQL Server数据库进行交互
数据库·c#·交互
数字化脑洞实验室35 分钟前
智能决策与决策优化:从算法到产业的演进逻辑
算法
cpp_250136 分钟前
P5412 [YNOI2019] 排队
数据结构·c++·算法·题解·洛谷
kingmax542120081 小时前
图论核心算法(C++):包括存储结构、核心思路、速记口诀以及学习方法, 一站式上机考试学习【附PKU百练,相关练习题单】
c++·算法·图论·信奥赛·上机考试·百练·pku
罗湖老棍子1 小时前
【例9.15】潜水员(信息学奥赛一本通- P1271)
c++·算法·动态规划·二维费用背包
_OP_CHEN1 小时前
算法基础篇:(二十一)数据结构之单调栈:从原理到实战,玩转高效解题
数据结构·算法·蓝桥杯·单调栈·算法竞赛·acm/icpc
PfCoder1 小时前
WinForm真入门(20)——StatusStrip控件解析
开发语言·windows·c#·winform·statusstrip
合作小小程序员小小店2 小时前
桌面开发,在线%医院管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·sql·microsoft·c#