c++中怎么用for循环求水仙花数

   2024-10-27 8880
核心提示:水仙花数是指一个n位数,其每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是

水仙花数是指一个n位数,其每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

下面是使用for循环来求水仙花数的示例代码:

#include <iostream>#include <cmath>int main() {    int num, n, digit, sum;        for(num = 100; num < 1000; num++) {        n = 0;        sum = 0;        int temp = num;                // 计算num的位数        while(temp != 0) {            temp /= 10;            n++;        }                temp = num;                // 求每个位上的数的n次幂之和        while(temp != 0) {            digit = temp % 10;            sum += pow(digit, n);            temp /= 10;        }                // 判断是否是水仙花数并输出        if(num == sum) {            std::cout << num << " ";        }    }        return 0;}

此代码会输出所有的三位数水仙花数,即153、370、371、407。您可以根据需要修改循环的范围和位数来求不同位数的水仙花数。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号