JAVA打印1到10000水仙花数问题

publicclassNarcissisticNumber//水仙花数{publicstaticvoidmain(String[]args){for(intn=100n<... public class NarcissisticNumber //

水仙花数

{

public static void main(String[] args)

{

for (int n = 100 n <1000 n++ )

{

int x,y,z;

x = n/100;

y = (n-x*100)/10;

z = n-x*100-y*10;

这个
x = n/100;
y = (n-x*100)/10;

z = n-x*100-y*10;

是怎么来的?求解释
展开
 我来答
xiao4kang5
2014-12-27 · TA获得超过331个赞
知道小有建树答主
回答量:301
采纳率:66%
帮助的人:155万
展开全部
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
在本题中,x指的是这个数的百位数,比如130的话,130/100=1.3,但是变量类型是整型,所以是1.3也就是1.
y是十位数字,同理你可以带入看一下。
Z是个位数字。但是我觉得这个方法有点麻烦。
你可以利用三层循环嵌套来做这个程序题。
如果你需要的话,我可以给你写一下
更多追问追答
追问
求大大写你的那一种方法~谢谢啦~~~
追答
额。。。我是学C语言的,你凑合着看,可能有些地方不一样,但是你确定这个题目是这样的,水仙花数不是三位数吗?我就把我C语言中的水仙花数写一下吧,我就把主要的代码写一下。
int i,j,k; //i是百位,j十位, k个位
int n=100;
for(i=1;i<=9;i++) //n是100~999之间的所有数字
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
if(i*i*i+j*j*j+k*k*k==n)
printout("%d",n); //貌似java是printout()输出的,我也忘了
n++;
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式