打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:是一个"水仙花数",因为=1的三次方+5的三次方+3的三次方。
#includestdio.h
intmain(){
inti,j,k;
//枚举所有三位数
for(i=1;i=9;i++){//百位数
for(j=0;j=9;j++){//十位数
for(k=0;k=9;k++){//个位数
intnum=i*+j*10+k;//构造三位数
//判断是否为水仙花数,同时限制范围在到之间
if(num=num=num==i*i*i+j*j*j+k*k*k){
printf("%d\n",num);//打印水仙花数
}
}
}
}
return0;
}
程序中使用了三重循环,分别枚举了三位数的百位、十位和个位。通过这三个循环变量i、j、k,可以得到所有的三位数。然后,对于每个三位数,计算它的各位数字的立方和,如果等于这个数本身,就说明它是一个水仙花数,将其打印出来。同时,还加了一个范围的限制,只打印到之间的水仙花数。
这个程序的思路比较简单,但需要注意的是,循环变量的范围和顺序不能写错。另外,为了避免重复计算,可以将三次方的结果存储在变量中,而不是每次都重新计算。