目录
背景:
扩展:
水仙花数例子:
效果展示:
总结:
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数指一个n等于3的倍数的正整数,它的各位上的数字的3次方之后 等于它本身,那么这就是一个水仙花数,比如153,它是一个水仙花数,因为1³+5³+3³=153。
水仙花数得名于19世纪初期的一个数学家,他发现了这个有趣的数列,并将其描述为”完美花朵”因为这些数字的各个位上的数字看起来像花瓣。水仙只存在于个位数、两位数、三位数中。
水仙花数是自幂数的一种,其他自幂数的名字以及各个数如下:
自幂数
一位
三位
四位
五位
六位
七位
八位
九位
十位
名字
独身数
水仙花数
四叶玫瑰数
五角星数
六合数
北斗七星数
八仙数
九九重阳数
十全十美数
数量
153、370、371、403
1634、8208、9474
54748、92727、93084
548834
1741725,4210818,9800817,9926315
1741725,4210818,9800817,9926315
1741725,4210818,9800817,9926315
1741725,4210818,9800817,9926315
int hundrd = 0;//定义一个整型变量 hundrd,并初始化为 0
int ten = 0;//···
int individul = 0;//···
for (int i = 100; i <= 999; i++)//使用for循环遍历100-999之间的整数
{
hundrd = i / 100;//获取百位数字
ten = i % 100 / 10;//获取十位数字
individul = i % 100 % 10;//获取个位数字
if (hundrd * hundrd * hundrd + ten * ten * ten + individul * individul * individul == i)//如果当前整数i是水仙花数,则满足以下等式:百位数的立方+十位数的立方+个位数立方等于当前整数i
{
Console.WriteLine(i+"是一个水仙花数");//输出i到控制台
}
}
Console.ReadKey ();//等待用户按下任意键
通过C#来实现 100-999之间的水仙花数,核心代码就是通过取余匀运算%来获取百位、十位和各位数字,然后计算它们的立方和,如果立方和的结果等于整数本身,则该整数是一个 水仙花数,最后在控制台输出结果。