黑马程序员技术交流社区
标题:
一起来做java基础小练习
[打印本页]
作者:
钟林杰
时间:
2013-4-11 22:47
标题:
一起来做java基础小练习
让我们的技术起飞吧
大家一起来做程序题,这是在自考书的一道程序设计题,让我们来对比一下谁写的代码更简洁更高效吧!
这些简单的基础题可不能在网上找答案哦,学习最重要的还是靠自己多动脑,记得在你的代码上加上应有的注释,代码记得编写规范哦,养成良好的编程习惯。
题目:
水仙花数是一个3为数字的整数,它等于每个数字的三次方之和。例如153是一个水仙花数,153=1^3+5^3+3^3.是编写一个程序,求1000以内的水仙花数。
(你回答之后就能看到我的答案了哦!)
[hide=d1000] int a,b,c;
for(int i=100;i<1000;i++) //由于水仙花数是一个3位数,所以可以直接从100加到999就行了
{
a = i / 100; //取百位的那个数
b = i % 100 / 10; //取十位的那个数
c = i % 10; //取个位的那个数
if(i==(a*a*a+b*b*b+c*c*c)) //判断i是不是水仙花数
{
System.out.println(i+" = "+a+" + "+b+" + "+c);
}
}[/hide]
作者:
李永康
时间:
2013-4-11 23:14
3层循坏搞定
作者:
通行天下
时间:
2013-4-11 23:16
class HuaData
{
public static void main(String[] args)
{
//用于记录水仙花数的个数
int count = 0;
for(int i=110;i<1000;i++)
{
//分别获取每个数的百位、十位、个位
int a = i/100;
int b = (i/10)%10;
int c = i%10;
//打印输出水仙花数
if(i == a*a*a+b*b*b+c*c*c)
{
System.out.print(i+" ");
count++;
}
}
//打印输出水仙花数的个数
System.out.println("count="+count);
}
}
献丑来啦,呵呵!
复制代码
作者:
钟林杰
时间:
2013-4-11 23:32
李永康 发表于 2013-4-11 23:14
3层循坏搞定
不需要三层循环也能搞定。你别干说啊,把你写的代码摆出来看看谁的效率高和谁的简洁嘛!
作者:
钟林杰
时间:
2013-4-11 23:36
通行天下 发表于 2013-4-11 23:16
你写的比我好,我居然把a,b,c三个变量给定义到外面去了,根本就没那必要。不过你写例题了哦,哈哈,我要求的不是个数,而是分别是什么数。下次记得细心点哦!:lol
作者:
陈宇鹏
时间:
2013-4-12 08:36
看看和我想法差多少
作者:
陈宇鹏
时间:
2013-4-12 08:38
我开始跟你想法是一样的。结果进了一个死圈子,就是 如果告诉你不是1000以内,而是告诉你说,这个数是n。我直接就不知道怎么做了。。
扣脑袋扣了半天。。。。
作者:
易杰
时间:
2013-4-13 00:51
没看明白。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2