【C语言】输出1--1000以内的水仙花数

谁践踏了优雅 2022-07-16 01:16 389阅读 0赞

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身

可以由下面的代码实现

  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<math.h>
  5. int Shuixianhua(int i)
  6. {
  7. for (i = 0; i < 1000; i++)
  8. {
  9. int sum = 0;
  10. int tmp = i;
  11. while (tmp)
  12. {
  13. sum = sum + pow(tmp % 10, 3);
  14. tmp = tmp / 10;
  15. }
  16. if (i == sum)
  17. {
  18. printf("%d\n", i);
  19. }
  20. }
  21. return 0;
  22. }
  23. int main()
  24. {
  25. int i = 0;
  26. printf("1-1000的水仙花数为:\n");
  27. Shuixianhua(i);
  28. return 0;
  29. }

Center

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。









发表评论

表情:
评论列表 (有 0 条评论,389人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c语言 水仙花

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(

    相关 C语言水仙花

    题目描述 打印出所有的水仙花数。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3。

    相关 水仙花,C语言

    问题描述:统计水仙花数的个数,并输出 水仙花数指的是,一个三位数,各位的立方和等于其本身。如153=111+555+333=153 编译环境:VC++6.0