我的网站

         
当前位置: 主页 > 我的网站6 >

每日一道c语言编程题,十二题(经典题 打印100-999的水仙花数)

时间:2024-02-16 10:26 来源:网络整理 转载:我的网站

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

#include

int main() {

int i, j, k;

// 枚举所有三位数

for(i = 1; i <= 9; i++) { // 百位数

for(j = 0; j <= 9; j++) { // 十位数

for(k = 0; k <= 9; k++) { // 个位数

int num = i * 100 + j * 10 + k; // 构造三位数

// 判断是否为水仙花数,同时限制范围在100到999之间

if(num >= 100 && num <= 999 && num == i * i * i + j * j * j + k * k * k) {

printf("%d\n", num); // 打印水仙花数

return 0;

程序中使用了三重循环,分别枚举了三位数的百位、十位和个位。通过这三个循环变量 i、j、k,可以得到所有的三位数。然后,对于每个三位数,计算它的各位数字的立方和,如果等于这个数本身,就说明它是一个水仙花数,将其打印出来。同时,还加了一个范围的限制,只打印100到999之间的水仙花数。

这个程序的思路比较简单,但需要注意的是,循环变量的范围和顺序不能写错。另外,为了避免重复计算,可以将三次方的结果存储在变量中,而不是每次都重新计算。