4、do while 案例练习:水仙花数.cpp 787 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include <iostream>
  2. // 水仙花数是指一个三位数 它的每个位上的数字的 3 次幂之和等于它本身
  3. // 例如 : 1^3 + 5^3 + 3^3 = 153
  4. //案例设计
  5. // 1、 将所有的三位数进行输出
  6. // 2、 在所有的三位数中找到水仙花数
  7. // 判定水仙花数的条件
  8. //获取个位 153 % 10 = 3
  9. //获取十位 153 / 10 = 15 15 % 10 = 5
  10. //获取百位 153 / 100 = 1
  11. //判断 : 个位^3 + 十位^3 + 百位^3 = 这个三位数的本身
  12. int main4()
  13. {
  14. // ①
  15. int num = 99;
  16. do
  17. {
  18. // ②
  19. int a = 0;
  20. int b = 0;
  21. int c = 0;
  22. a = num % 10; //个位
  23. b = num / 10 % 10; //十位
  24. c = num / 100; //百位
  25. if(a^3 + b^3 + c^3 == num)
  26. {
  27. std::cout << num << std::endl;
  28. }
  29. num++;
  30. } while (num < 999);
  31. system("pause");
  32. return 0;
  33. }