Python编程题2--水仙花数

Python015

Python编程题2--水仙花数,第1张

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。

例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数

请按照从小到大的顺序输出 1000 以内的水仙花数(3位数),并用"逗号"分隔输出结果

def demo():

  temp = []

  for i in range(100, 1000):

      a = i // 100 # 百位

      b = i // 10 % 10 # 十位

      c = i % 10 # 个位

      if a ** 3 + b ** 3 + c ** 3 == i:

          temp.append(str(i))

  return ",".join(temp)

print("1000以内的水仙花数有:{}".format(demo()))

用C语言实现水仙花数:

#include <stdio.h>

#include <stdlib.h>

int main()

{

  int i,j,k,n

  printf("'water flower'number is:")

  for(n=100n<1000n++)

  {

      i=n/100/*分解出百位*/

      j=n/10%10/*分解出十位*/

      k=n%10/*分解出个位*/

      if(n==i*i*i+j*j*j+k*k*k)

      {

          printf("%-5d",n)

      }

  }

  printf("\n")

  return 0

}