关于JAVA一道题
统计在100至999之间所有具有下列特性的数字的个数。该特性是该数字的个位的立方,十位的立方,百位上的立方的和等于该数字本身。谢谢!!!我用的是Eclipse软件,请用这...
统计在100至999之间所有具有下列特性的数字的个数。该特性是该数字的个位的立方,十位的立方,
百位上的立方的和等于该数字本身。谢谢!!!
我用的是Eclipse软件,请用这种格式 谢谢
public class XXXXX{
public static void main(String[] args) { 展开
百位上的立方的和等于该数字本身。谢谢!!!
我用的是Eclipse软件,请用这种格式 谢谢
public class XXXXX{
public static void main(String[] args) { 展开
3个回答
2013-11-01
展开全部
分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身。例如:370=33+73+00.这就说明370是一个水仙花数。
所以要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
注意:,Java提供求n次方的方法:java.lang.Math.pow(a, b);其表示为a的b次方
第一种:
public class ShuiXianHuaShu {
public static void main(String[] args) {
int x = 0; //定义水仙花数的个数
for(int i=100;i<=999;i++){
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){
x++; //每次符合水仙花数条件,则x+1;
System.out.print(i+" "); //输出符合条件的数
}
}System.out.println(); //换行
System.out.println("水仙花数总共有"+x+"个"); //输出水仙花数的总数
}
}
第二种:
public class ShuiXianHuaShu {
public static void main(String[] args) {
int x = 0; //定义水仙花数的个数
for(int i=100;i<=999;i++){
int b = i/100; //取得百位数
int s = i%100/10; //取得十位数
int g = i%10; //取得个位数
if(i==Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3)){
x++; //每次符合水仙花数条件,则x+1;
System.out.print(i+" "); //输出符合条件的数
}
}System.out.println(); //换行
System.out.println("水仙花数总共有"+x+"个"); //输出水仙花数的总数
}
}
所以要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
注意:,Java提供求n次方的方法:java.lang.Math.pow(a, b);其表示为a的b次方
第一种:
public class ShuiXianHuaShu {
public static void main(String[] args) {
int x = 0; //定义水仙花数的个数
for(int i=100;i<=999;i++){
int b = i/100; //取得百位数
int s = (i-100*b)/10; //取得十位数
int g = (i-s*10-b*100); //取得个位数
if(i==g*g*g+s*s*s+b*b*b){
x++; //每次符合水仙花数条件,则x+1;
System.out.print(i+" "); //输出符合条件的数
}
}System.out.println(); //换行
System.out.println("水仙花数总共有"+x+"个"); //输出水仙花数的总数
}
}
第二种:
public class ShuiXianHuaShu {
public static void main(String[] args) {
int x = 0; //定义水仙花数的个数
for(int i=100;i<=999;i++){
int b = i/100; //取得百位数
int s = i%100/10; //取得十位数
int g = i%10; //取得个位数
if(i==Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3)){
x++; //每次符合水仙花数条件,则x+1;
System.out.print(i+" "); //输出符合条件的数
}
}System.out.println(); //换行
System.out.println("水仙花数总共有"+x+"个"); //输出水仙花数的总数
}
}
展开全部
public static void specialNum(){
for(int i=100;i<=999;i++){
String a=(i+"").substring(0, 1);
String b=(i+"").substring(1, 2);
String c=(i+"").substring(2);
int temp=(int) (Math.pow(Integer.valueOf(a), 3)+Math.pow(Integer.valueOf(b), 3)+Math.pow(Integer.valueOf(c), 3));
if(i==temp){
System.out.println(i);
}
}
}
for(int i=100;i<=999;i++){
String a=(i+"").substring(0, 1);
String b=(i+"").substring(1, 2);
String c=(i+"").substring(2);
int temp=(int) (Math.pow(Integer.valueOf(a), 3)+Math.pow(Integer.valueOf(b), 3)+Math.pow(Integer.valueOf(c), 3));
if(i==temp){
System.out.println(i);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i=100;i<999;i++)
{
int a = i/100;
int b = i/10-(i/100)*10;
int c = i%10;
if(a*a*a+b*b*b+c*c*c == i){
System.out.println(i);
}
}
{
int a = i/100;
int b = i/10-(i/100)*10;
int c = i%10;
if(a*a*a+b*b*b+c*c*c == i){
System.out.println(i);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询