题目运谨:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
分析:通过输入一个整数,整数为枣悄塌a.由于该整数为三位数,所以个位、十凳圆位、百位为,
int b=a/100
int s=a/10%10
int g=a%100%10
由于水仙花数a是整数,100<=a<=999
所以进行循环遍历,可得
for(int i=100i<=999i++){
if(a=b 3+s 3+g^3){
System.out.println(a)
}
}
打印所唤桥有的水仙花数的方法。
如下参考:
1.首先,打开dev-c++软件,点击和核猛“新建代码”。
2.然后填写如下图所示的代码,如下图。
3.其中:a为几百朵水仙花,b为几十朵水仙花,c为水仙花的单位,和为水仙花的总数。
4.如果(sum==a*a*a+b*b*b+c*c*c)这个过程步骤的目的是在指定的搜索范氏耐围内找到满足这个条件的数字。
5.注意,a、b、c和sum的 *** 作应该在for循环中完成,而不是在外循环中。
6.还要注意区分在分配的数百位数字、10位数字中,计算单位的“/”、“%”之差,“/”表示取整数后除,“%”表示取余数后除。
7.最后,单击“run”以获得要查找的结果。
代郑枯咐码内容:
#include\"stdio.h\"
#include\"conio.h\"
main()
{
inti,j,k,n
printf(\"'waterflower'numberis:\")
for(n=100n<1000n++)
{
i=n/100/*分解出百位*/
j=n/10%10/*分解出喊纯十败岩位*/
k=n%10/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf(\"%-5d
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)