大家好,又见面了,我是你们的朋友全栈君。
输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
例如,153是一个水仙花数,因为153=1³+5³+3³
解题思路:水仙花数的解题思路是把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和。程序能正常运行并准确输出“水仙花数”。
定义i为水仙花数,运用for循环
for (❶ i=100;❷ i<=999;❸i++)
先执行❶,再执行❷判断条件是否满足,
满足执行下列花括号,最后执行❸,一次循环结束;
再执行❷判断条件是否满足,
满足执行下列花括号,最后执行❸,二次循环结束;
其中❶只在第一次循环时执行一次;
若是❷不成立则循环结束,执行printf()语句;
#include<stdio.h>
int main()
{
printf("输出水仙花数:\n");
int i, a, b, c;
for (i = 100; i <= 999; i++) //整数的取值范围
{
int a = i % 10;//个位数
int b = (i / 10) % 10;//十位数
int c = i / 100;//百位数
if (i == a * a * a + b * b * b + c * c * c) //各位上的立方和是否与原数n相等
printf("%d\t", i);
}
return 0;
}
输出结果展示:水仙花数是153 370 371 407
如果有不懂的地方可以在评论里面提出来,我会尽自己的能力去解答(^^)
欢迎大家进行指正评论,共同进步!!!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163850.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...