编程4 围绕着山顶有10个洞,狐狸要吃兔子,兔子说:“可以,但必须找到我, 我就藏身于这十个洞中

你从10号洞出发,先到1号洞找,第二次隔1个 洞找,第三次隔2个洞找,以后如此类推,次数不限。”但狐狸从早到晚进 进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?  上面是一道c语言程序设计题。请高手帮忙解决。

#include<stdio.h>
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}; // 洞
int i,j,k;
for(i=1,j=1;i<=1000;j=j+i)
{
if(j>10)
j=j-10; //循环
for(k=0;k<10;k++) //经过的洞置0
if(j==a[k])
a[k]=0;
i++;
}
printf("兔子在的洞:");
for(k=0;k<10;k++) //输出不是0的即是没经过的洞
if(a[k]!=0)
printf("%5d",a[k]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-08
软件:dev c++
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main(){
int hole[12],kong_ge;
memset(a,0,sizeof(a));
hole[1]=hole[10]=1;
kong_ge=10;
for(int i=1;i<=1000;i++){
kong_ge+=i;
kong_ge%=10;
hole[kong_ge]=1;
}
for(int i=1;i<=10;i++){
if(hole[i]==0){
cout<<i<<" ";
}
}
return 0;
}
第2个回答  2011-03-27
第8个洞!!!!!!!!!
第3个回答  2011-03-26
7
相似回答