时间过得真快,一眨眼一个月已经过去了,感觉每天的练习确实有不少提升,起码一些简单题可以一次过,复杂的题目不会写得很烂了,并且发现有一些算法可以改进。
这段时间还是做了不少简单题,为了建立信心,但是感觉做多了对自己的算法提升较少,只能提高熟练程度,以后会多做一些复杂的题目吧,希望能继续坚持下去吧。
题目要求找出所有的三位水仙花数,即该三位数的各位立方和就是其本身,不需要输入。
总时间限制: 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。