java编写有趣的题

有一排互不相通的10个山洞,编号分别为1-10,狗先进入编号为一的山洞,如果没有找到兔子则隔3个山洞(编号为5的山洞)继续搜寻,一次类推。如果狗找了1000次都还没有找到... 有一排互不相通的10个山洞,编号分别为1-10,狗先进入编号为一的山洞,如果没有找到兔子则隔3个山洞(编号为5的山洞)继续搜寻,一次类推。如果狗找了1000次都还没有找到兔子则放弃寻找。如果你是兔子,为了躲开狗的追赶你首次应该进入编号为几的山洞? 展开
 我来答
main_inf
2012-02-20 · TA获得超过1575个赞
知道小有建树答主
回答量:811
采纳率:100%
帮助的人:573万
展开全部
这个其实挺简单的解决方案。你只需要让狗跑上1000次,把它去过的山洞都记录下来,最后你就可以选择它没有去过的就好了。用一个Set<Integer> set来记录它去过的山洞:

int start = 1;
for(int i = 0 ; i < 1000; i ++){
set.add(start % 10);
start = start + i * (3 + 1);
}
剩下的你就懂了。 对于这种环形的模型, 求余是一种很常用的算法。
sirnuo
2012-02-20 · 超过34用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:88.8万
展开全部
public static void main(String[] args) {

int index = 0;
int number = 1;
List<String> list = new ArrayList<String>();
for(index = 1;index<=10;index++){
list.add("" + index);
}
for(index = 1;index <= 1000;){
number = (index % 10);
list.remove("" + number);
index +=4;
}
for(String str : list){
System.out.println(str);
}
}

结果是 2 4 6 8 10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
An_X_Eric
2012-02-20 · 超过16用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:64.7万
展开全部
是不是除了一号洞都行.....
没看懂题目......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式