Topic: 菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。---mr。why已解答

  Print this page

1.菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。---mr。why已解答 Copy to clipboard
Posted by: dysue
Posted on: 2006-03-15 01:31

今天连续做了几题循环和条件运用的题目,但不知道为什么水仙花题解决不了。水仙数是指某三位数其各位数的平方和等于其本身(相信很多人都做过了)。编译没问题,但运行的时候总是什么都不显示。请求高手解答。万分感谢,程序如下:

import java.applet.Applet;
import java.awt.*;
public class Shuixian extends Applet
{
public void paint(Graphics g)
{
int i,j,k,t=0,p=0, z=0,c=0, u=0;
for(i=1;i<=9;i++)//由于是三位数,百位起码为1
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
c=i*100+j*10+k; //某三位数
z=i*i +j*j +k*k; //各位数的平方和
u=c-z;
if(u==0)//如果差为零,则此两数相等
  {
g.drawString(Integer.toString( c ),20+t*20,40+p*20);//输出及格式
  t++;
if(t > 10)
{
  p++;
  t=0;
  }
  else
  t=t+1;

}
}
}
}
}
}

2.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。 [Re: dysue] Copy to clipboard
Posted by: why
Posted on: 2006-03-15 02:13

敝人本來不知啥是水仙花數,但查查Google後知道
水仙数是指某三位数其各位数的立方和等于其本身

z=i*i*i +j*j*j +k*k*k;

另外,u=c-z; 是多餘的
if (c == z) 就行

3.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。 [Re: dysue] Copy to clipboard
Posted by: dysue
Posted on: 2006-03-15 02:36

我的天啊!!!!原来是书印错了!!!!我刚才看了书,的确是写平方。
唉~~~其实自己以前编c的时候也已经做过此题,但由于隔了一两年,忘记了水仙花的定义。

真诚感谢why先生的帮助。其实我之前在这里也有看贴,why先生总是不厌其烦地帮大家解决问题。实为良师益友。

再请教mr。why。此句:g.drawString(Integer.toString( c ),20+t*20,40+p*20);中是不是只能输出整型(int)?如果c为float型,应如何改?谢谢。

4.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。---mr。why已解答 [Re: dysue] Copy to clipboard
Posted by: why
Posted on: 2006-03-15 03:11

1. Float.toString(c)

2. "" + c // not recommended

3. // if you want to have control of the format displayed
java.text.NumberFormat formatter = new java.text.DecimalFormat("0.00");
formatter.format(c)

5.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。 [Re: why] Copy to clipboard
Posted by: worldec
Posted on: 2006-03-15 05:50

why wrote:
敝人本來不知啥是水仙花數,但查查Google後知道
水仙数是指某三位数其各位数的立方和等于其本身

z=i*i*i +j*j*j +k*k*k;

另外,u=c-z; 是多餘的
if (c == z) 就行

...................

6.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。 [Re: worldec] Copy to clipboard
Posted by: why
Posted on: 2006-03-15 06:42

worldec wrote:
...................

請問這是甚麼意思呢?

7.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。---mr。why已解答 [Re: why] Copy to clipboard
Posted by: dysue
Posted on: 2006-03-15 13:00

thx again,MR.WHY!!!but,"2. "" + c // not recommended"----what's this supposed to mean?

8.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。---mr。why已解答 [Re: dysue] Copy to clipboard
Posted by: suntao19830709
Posted on: 2006-03-15 13:25

每次看到“问题儿童”的头像就想笑:)

9.Re:菜鸟做水仙花题遇到的问题,请高手解答,万分感谢。---mr。why已解答 [Re: dysue] Copy to clipboard
Posted by: suntao19830709
Posted on: 2006-03-15 13:31

这个题没那么复杂吧,算法很简单的

int a = 0;
int b = 0;
int c = 0;
for (int i = 100; i < 1000; i++) {
a = i / 100;
b = (i % 100) / 10;
c = i % 10;
if (i == a * a * a + b * b * b + c * c * c) {
System.out.println( i );
}
}


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923