【问题描述】
围绕着山顶有10个洞,一只狐狸和一只兔子住在各自的洞里。狐狸想吃掉兔子。一天,兔子对狐狸说:“你想吃我有一个条件,先把洞从1~10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依次类推,次数不限,若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。” 狐狸满口答应,就开始找了。它从早到晚进了1000次洞,累得昏了过去,也没找到兔子,请问,兔子躲在几号洞里?
【算法分析】
根据计算可知,狐狸每次钻的洞的号码为历次隔得洞的数目之和除以10之后的余数。
【算法代码】
#include
int i,j,sum;
int n=1;
int a[10];
int main() {
printf("The rabbit hided in hole:\n");
for(i=1; i<=1000; i++) {
sum=sum+i;
j=sum%10;
a[j]++;
}
for(i=0; i<10; i++) {
if(a[i]==0)
printf("NO.%d\n",i);
}
return 0;
}
/*
The rabbit hided in hole:
NO.2
NO.4
NO.7
NO.9
*/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)