java水仙花数编程
A. java水仙花数
public class ShuiXianShu
{
/**
* 题目:打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
* 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*
*/
public static void main(String[] args)
{
for(int i=100;i<=999;i++)
{
int geWei,shiWei,Wei;
Wei=i/100;
shiWei=(i-Wei*100)/10;
geWei=i-Wei*100-shiWei*10;
if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+Wei*Wei*Wei)
{
System.out.println(i);
}
}
}
}
这个是我以前做过的,楼主可以参考
B. 用Java写个关于“水仙花数”的程序
按一下代码执行:
public class woo {
public static void main(String args[]) {
System.out.println("100-1000中的水仙花数有:");
for(int i=100;i<1000;i++){
int single = i%10;
int ten = i/10%10;
int hundred = i/10/10%10;
//水仙花数判断要求
if(i == (single*single*single+ten*ten*ten+hundred*hundred*hundred)){
System.out.println(i);
}
}
}
}
(2)java水仙花数编程扩展阅读:
水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
C. 如何用JAVA求100--1000以内的水仙花数
public class xx4 {
public static void main(String[] args) {
int i=0,g,s,b;
int score;
for(i=100;i<=1000;i++){
g=i%10;
s=i%100/10;
b=i%1000/100;
score=g*g*g+s*s*s+b*b*b;
if(i==score){
System.out.println(score);
}
}
D. java中for循环怎样打印出所有的"水仙花数"
先写一个函数计算一个数字的立方为多少。命名为cube()
private static int cube(int n) {
return n * n * n;
}
判断这个数是不是水仙花数,求每一位数上的数的立方和是否为原数字本身即可。
E. java求水仙花数
分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身。例如:370=33+73+00.这就说明370是一个水仙花数。
所以要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位。
1:先取得他的百位:int BaiWei = x/100; 因为int是整形,所以不会进行四舍五入,也不会管小数点后面的数。
再取得十位:int ShiWei = (x-BaiWei*100)/10;先用这个数减去百位数*100,再除以10,原因同上。
最后取得个位数:int GeWei = x-BaiWei*100-ShiWei*10.很明显,就能得到个位数。
2:
intb = x/100;
int s = x/100%10;
int g = x%10;
求立方的方法:
1,x = Baiwei*Baiwei*Baiwei+ShiWei*ShiWei*ShiWei+GeWei*GeWei*GeWei
2,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+"个"); //输出水仙花数的总数
}
}
F. 编写方法判断水仙花数java
/**
*1000以内的水仙花数
*
*@authorAdministrator
*
*/
publicclassShuixianhua{
publicstaticvoidmain(String[]args){
for(inti=100;i<1000;i++){
inti1=i/100;
inti2=(i/10)%10;
inti3=i%100;
intsum=i1*i1*i1+i2*i2*i2+i3*i3*i3;
if(sum==i)
System.out.println(i+"是一个水仙花数");
}
}
}
G. java编程求水仙花数!
class waterflower
{public static viod main(String[] args)
{int i,j,k,n;
System.out.println("水仙花数是:");
for(n=100;n<100;n++)
{i=n/100; /* 分解出百位*/
j=n/10%10; /*分解出十位*/
k=n%10; /*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{System.out.println(" "+n);
}
}
System.out.println("\n");
}
}
关键的地方有解释 你可以看看 其他的地方 你应该 能看懂 呵呵