求出0〜999之间的所有“水仙花数”并输出

水仙花数是一个数每个位置的立方相加等于这个数,可以利用for循环解决,难点在于一个三位数,个位数字是模10得到,十位百位也是如此,例如153%10->3,15%10->5,10%10->1.for循环中嵌套一个while循环,定义一个临时变量x用于保存,在while循环中将三位数每个位置的立方相加。立方可以用pow来实现。`

#include<stdio.h>
#include<math.h>
void Armnumber()
{
 int i=0;
 for(;i<=999;i++)
 {
  int x=i;
  int sum=0;
  while(x)
  {
   double y=x%10;
   sum+=(int)pow(y,3);
   x/=10;
  }
  if(sum==i)
  {
   printf("%d\n",i);
  }
 }
}
int main()
{
 Armnumber();
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值