Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 1.86 KB

2685.md

File metadata and controls

56 lines (41 loc) · 1.86 KB

立方和 2685: 打印水仙花数

时间过得真快,一眨眼一个月已经过去了,感觉每天的练习确实有不少提升,起码一些简单题可以一次过,复杂的题目不会写得很烂了,并且发现有一些算法可以改进。

这段时间还是做了不少简单题,为了建立信心,但是感觉做多了对自己的算法提升较少,只能提高熟练程度,以后会多做一些复杂的题目吧,希望能继续坚持下去吧。

题目要求找出所有的三位水仙花数,即该三位数的各位立方和就是其本身,不需要输入。

题目来源

2685: 打印水仙花数

总时间限制: 1000ms 内存限制: 65536kB

描述

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

输入

无输入。

输出

输出所有水仙花数,每行输出一个水仙花数。

样例输入

样例输出

三位数可以考虑从100到999,然后通过除法和取余得到各位数字,最后判断。

#include <iostream>
using namespace std;
int main() {
	int i, j1, j2, j3;
	for(i = 100; i < 1000; ++i) {
		j1 = i / 100;
		j2 = i / 10 % 10;
		j3 = i % 10;
		if(i == j1 * j1 * j1 + j2 * j2 * j2 + j3 * j3 * j3) {
			cout << i << endl;
		}
	}
	return 0;
}

2685.cpp 代码长度:254B 内存:128kB 时间:1ms 通过率:98% 最小内存:128kB 最短时间:0ms

整数除法不会四舍五入,百位可以通过除以100获得,十位可以除以十以后取余取个位,个位可以直接用10取余,之后求立方和判断即可。

有任何的改进意见欢迎大家在微信平台公众号主页面留言或者发表issue。