原题链接:[编程入门]水仙花数判断
题目描述:
打印所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153 是一个水仙花数,因为153=13+53+33
解题思路:
因为水仙花数是一个三位数,所以先用一个 for 循环进行遍历,从 100~999 ,然后对数进行计算,分别求出个位、十位、百位的数字,然后进行比对,如果个位、十位和百位的三次方加起来等于该数,则输出那个数。
参考代码:
C++ 代码
#include<iostream> using namespace std; int main() { int i, a, b, c; for (i = 100; i <= 999; i++) { a = i % 10; b = (i / 10) % 10; c = (i / 100) % 10; if (i == a*a*a + b*b*b + c*c*c) cout << i << " "; } return 0; }
Java 代码 1
public class Main { public static void main(String[] args) { int i, a, b, c; for (i = 100; i <= 999; i++){ a = i % 10;//个位 b = (i / 10) % 10;//十位 c = (i / 100) % 10;//百位 if (i == a*a*a + b*b*b + c*c*c){ System.out.print(i+" "); } } } }
Java 代码 2
这里是先求出百位数,然后再求十位数,最后是求个位数
public class Main { public static void main(String args[]) { int i, a, b, c; for (i = 100; i <= 999; i++){ a=i/100;//百位 b=(i-100*a)/10;//十位 c=(i-100*a-10*b);//个位 if (i == a*a*a + b*b*b + c*c*c){ System.out.print(i+" "); } } } }
0.0分
5 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复