C#求100-999之间的水仙花数,你知道多少个?让我们一起来探索!

背景:

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

发表评论