java用for循环求水仙花数,这是我写的代码,不知道哪里出错了,运行结果不对

2024-12-20 16:23:52
推荐回答(2个)
回答1:

你这个问题主要两个
第一:水仙花数要求是3位数,而你从1开始到10000,这里面出现了一位数、两位数、三位数、四位数和五位数;
第二:内层for循环完成后没有将tempd变量的值设置为0,这将导致下一次循环得到的tempd变量的值不对;
另外还有一个不是很大的问题,那就是tempa=(int)(Math.floor(tempa/10));这种写法完全多余,直接tempa/=10;就可以了。

回答2:

先搞清楚算法 水仙花数应该是 每个位置上的3次方 的和 等于他本身吧 这个算法都错了