标题:一道面试题目
只看楼主
yinxuchina
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-2-1
 问题点数:0 回复次数:3 
一道面试题目
一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。
例:n=1237
则输出为:
1237,
2474,
4948,
9896,
9896,
4948,
2474,
1237,
搜索更多相关主题的帖子: 面试 
2007-08-10 23:16
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
得分:0 

递归应该不算是循环吧!!
可不可以尝试用递归的方法!!

2007-08-11 01:29
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
得分:0 

public class S{
public static void main(String[] args){
printOne(1237);
}
public static void printOne(int n){
System.out.println(n);
if(n<5000)
printOne(2*n);
else{
System.out.println(n);
printTwo(n/2);
}
}
public static void printTwo(int n){

if(n>=1237){
System.out.println(n);
printTwo(n/2);
}
}
}

[此贴子已经被作者于2007-8-11 2:17:28编辑过]

2007-08-11 02:16
george_vcool
Rank: 2
等 级:新手上路
威 望:3
帖 子:453
专家分:0
注 册:2007-7-23
得分:0 

应该有更加简单的方法!!!
本人是新手,只能想到这样了!
也不知道对不对,呵呵,

2007-08-11 02:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161860-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.812575 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved