目录
背景:
扩展:
水仙花数例子:
效果展示:
总结:
背景:
水仙花数(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之间的水仙花数,核心代码就是通过取余匀运算%来获取百位、十位和各位数字,然后计算它们的立方和,如果立方和的结果等于整数本身,则该整数是一个 水仙花数,最后在控制台输出结果。