黑马程序员技术交流社区
标题:
求下面的代码
[打印本页]
作者:
王春涛
时间:
2014-5-20 08:47
标题:
求下面的代码
本帖最后由 王春涛 于 2014-5-20 12:30 编辑
打印出所有的"水仙花数"。
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
作者:
skill20
时间:
2014-5-20 10:11
弄的好像有点麻烦。。。
public static void watherCode(){
for(int x = 100; x < 1000; x++){
String str = new Integer(x).toString();
int value_1 = Integer.parseInt((str.charAt(0)+""));
int value_2 = Integer.parseInt((str.charAt(1)+""));
int value_3 = Integer.parseInt((str.charAt(2)+""));
if(x == Math.pow(value_1, 3) + Math.pow(value_2,3) + Math.pow(value_3, 3))
System.out.println(x);
}
}
复制代码
作者:
gentleman
时间:
2014-5-20 11:41
public class XianHua {
public static void main(String[] args)
{
for(int i=100;i<1000;i++)
{
if(getSX(i))
{
System.out.println(i);
}
}
}
public static boolean getSX(int i)
{
int gewei=i%100;
int shiwei=(i/10)%10;
int baiwei=i/100;
int sum=(int)(Math.pow(gewei, 3)+Math.pow(shiwei, 3)+Math.pow(baiwei, 3));
if(sum==i)
{
return true;
}
return false;
}
}
复制代码
作者:
雨落千木的时节
时间:
2014-5-20 11:55
class ShuiXian
public static void main(String[] args) {
for(int x=100;x<1000;x++){//水仙花数是三位数,所以在100——1000内循环
int i=x/100;//求出百位数
int j=x%100;
j=j/10;//求出十位数
int k=x%10;//求出个位数
int sum=i*i*i+j*j*j+k*k*k;//求个位,十位,百位分别3次方的和
if(sum ==x){//如果相等则打印
System.out.println(sum);
}
}
}
作者:
周俊波
时间:
2014-5-20 12:02
public class Shuixianhua {
public boolean SXH (int s) {
String x = s + "";
if(x.length()!=3) { //判断是否为3未
return false;
}
int a = s%10;//个位
int b = s/10%10;//十位
int c = s/100;//百位
if(s!=(a*a*a+b*b*b+c*c*c)){
return false;
}
return true;
}
public static void main(String[] args) {
Shuixianhua s = new Shuixianhua();
for(int x=100;x<1000;x++) {
if(s.SXH(x)) {
System.out.println(x);
}
}
}
}
复制代码
作者:
王春涛
时间:
2014-5-20 12:30
skill20 发表于 2014-5-20 10:11
弄的好像有点麻烦。。。
:handshake谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2