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

相关推荐
多米Domi01118 分钟前
0x3f 第49天 面向实习的八股背诵第六天 过了一遍JVM的知识点,看了相关视频讲解JVM内存,垃圾清理,买了plus,稍微看了点确定一下方向
jvm·数据结构·python·算法·leetcode
A_nanda9 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
代码雕刻家11 小时前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
Ulyanov11 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲
码云数智-园园11 小时前
使用 C# 将 PowerPoint 演示文稿高效转换为 PDF 格式
c#
PfCoder12 小时前
WinForm真入门(23)---PictureBox 控件详细用法
开发语言·windows·c#·winform
智者知已应修善业12 小时前
【查找字符最大下标以*符号分割以**结束】2024-12-24
c语言·c++·经验分享·笔记·算法
91刘仁德13 小时前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法
diediedei13 小时前
模板编译期类型检查
开发语言·c++·算法
阿杰学AI13 小时前
AI核心知识78——大语言模型之CLM(简洁且通俗易懂版)
人工智能·算法·ai·语言模型·rag·clm·语境化语言模型