求一个实现水仙花数的代码
- 提问者网友:情歌越听越心酸
- 2021-07-25 06:05
- 五星知识达人网友:白昼之月
- 2021-07-25 06:43
实现水仙花数的代码
public class shuixianhuashu {
public static void main(String[] args) {
for(int i=100; i<1000; i++){
int a = i/100;
int b = i/10%10;
int c = i%10;
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
System.out.println(i+"是水仙花数");
}
}
}
这类问题都回答好几个了,就是上面这个,你先试一下一定可以的,
- 1楼网友:走死在岁月里
- 2021-07-25 08:38
一下代码供你参考:
//水仙花数 //所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身 //这个问题的算法简单,主要是一些类型的转换; import java.lang.*; public class ShuiXianHua {
public static void main(String[] args) { String str = new String(); char [] buff = new char[3]; int plot; for(int i=100;i<1000;i++) { plot = 0; int temp; buff =(Integer.toString(i)).toCharArray(); //System.out.println(buff[0]+" "+buff[1]+" "+buff[2]); for(int j=0;j<3;j++) {
//实现从char型到int型的转换 temp = Integer.parseInt(String.valueOf(buff[j])); plot +=temp*temp*temp; } if(plot == i) { System.out.println(i+"是水仙花数"); } } } }
希望都你有帮助!
- 2楼网友:渊鱼
- 2021-07-25 07:44
如下是java版,1000以内的水仙花数
public class shuixianhua { static Boolean isSxh(int n){ int g,s,b; b=n/100; s=n%100/10; g=n%10; if(n<3) return false; else if( (g*g*g+s*s*s+b*b*b) == (100*b+10*s+g) ) return true; else return false; } public static void main(String[] args){ System.out.println("1000以内的水仙花数:"); shuixianhua s = new shuixianhua(); for(int i=1;i<1000;i++) if(s.isSxh(i)) System.out.print(i+"\t"); } }