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

相关推荐
君义_noip6 小时前
信息学奥赛一本通 1661:有趣的数列 | 洛谷 P3200 [HNOI2009] 有趣的数列
c++·算法·组合数学·信息学奥赛·csp-s
程序员:钧念6 小时前
深度学习与强化学习的区别
人工智能·python·深度学习·算法·transformer·rag
英英_7 小时前
MATLAB数值计算基础教程
数据结构·算法·matlab
一起养小猫7 小时前
LeetCode100天Day14-轮转数组与买卖股票最佳时机
算法·leetcode·职场和发展
hele_two8 小时前
快速幂算法
c++·python·算法
l1t8 小时前
利用DeepSeek将python DLX求解数独程序格式化并改成3.x版本
开发语言·python·算法·数独
jllllyuz8 小时前
基于子集模拟的系统与静态可靠性分析及Matlab优化算法实现
算法·matlab·概率论
程序员-King.9 小时前
day143—递归—对称二叉树(LeetCode-101)
数据结构·算法·leetcode·二叉树·递归
BlockChain8889 小时前
字符串最后一个单词的长度
算法·go
爱吃泡芙的小白白9 小时前
深入解析:2024年AI大模型核心算法与应用全景
人工智能·算法·大模型算法