来来来 给我求出0-999之间的所有水仙花数 求不出放学不许走

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 11:48   11   0

呵!水仙花数

这是什么啊???(黑人问号脸)

我去百度了一下

“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3,则153是一个“水仙花数”。

在数论中,水仙花数也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数

听起来就很牛逼哈哈哈

简单地说呢

水仙花数是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。

370 = 3^3 + 7^3 + 0^3。

371 = 3^3 + 7^3 + 1^3。

407 = 4^3 + 0^3 + 7^3。

那么问题来了

代码在哪里?

到我上场表演啦

用自己的思维表示一下

水仙花数=个位的数^ 3+十位的数^3+百位的数^ 3

那我们把这个水仙花数定义为i,百位的就定为h

十位的为i除100的余数除10,以此类推

代码如下:

#include<stdio.h>
int main()
{
 int i=0;
 int h=0;
 int d=0;
 int u =0;
 for (i=0;i<=999;i++)
 {
  if (i%100>1)
  {
   h=i/100;
   d=i%100/10;
   u=i%10;
  }
  if(i==(d*d*d+h*h*h+u*u*u))
  {
   printf("%d\n ",i);
  }
 } 
 return 0;
}

运行结果如下:

真是so easy呢

郑辛宇666

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP