围绕着山顶有10个洞,一只狐狸和一只兔子住在各自的洞里。狐狸想吃掉兔子。一天,兔子对狐狸说:“你想吃我有一个条件,先把洞从1-10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依次类推,次数不限,若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。”狐狸满口答应,就开始找了。它从早到晚进了1000次洞,累得昏了过去,也没找到兔子,请问,兔子躲在几号洞里?
#include
#include
class MountainHole
{
public:
MountainHole(int _id, int _count)
{
id = _id;
count = _count;
}
~MountainHole(){}
int id;
int count;
};
int main(int argc, const char * argv[]) {
std::vector<MountainHole*> lstHole;
for (int i = 0; i < 10; i++) {
MountainHole* m = new MountainHole(i+1, 0);
lstHole.push_back(m);
}
int current = 0;
for (int j = 0 ; j < 1000; j++ )
{
current = current%10;
lstHole[current]->count ++;
printf("第%d次, 访问了第%d个洞\n", j+1, current+1);
current += (j+1);
}
for (int n = 0; n < 10; n ++) {
printf("第%d个洞被访问过的次数:[%d]\n", lstHole[n]->id, lstHole[n]->count);
}
return 0;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。