C++经典问题:狐狸找兔子
問(wèn)題描述:
圍繞著山頂有10個(gè)洞,一只狐貍和一只兔子住在各自的洞里。狐貍想吃掉兔子。一天,兔子對(duì)狐貍說(shuō):“你想吃我有一個(gè)條件,先把洞從1-10編上號(hào),你從10號(hào)洞出發(fā),先到1號(hào)洞找我;第二次隔1個(gè)洞找我,第三次隔2個(gè)洞找我,以后依次類(lèi)推,次數(shù)不限,若能找到我,你就可以飽餐一頓。不過(guò)在沒(méi)有找到我以前不能停下來(lái)。”狐貍滿口答應(yīng),就開(kāi)始找了。它從早到晚進(jìn)了1000次洞,累得昏了過(guò)去,也沒(méi)找到兔子,請(qǐng)問(wèn),兔子躲在幾號(hào)洞里?
分析:
我們?cè)O(shè)定一個(gè)數(shù)組a[11],用來(lái)表示這10個(gè)山洞(a[0]不使用),并且初始化為0(數(shù)組元素值為0表示該洞穴狐貍沒(méi)有進(jìn)入過(guò)),然后用多次循環(huán)模擬狐貍找兔子的過(guò)程,狐貍找兔子的循環(huán)肯定是有一個(gè)有限循環(huán),我們不妨設(shè)置為1000,因?yàn)楹傉伊?000次還找不到兔子的話,早就累死了=.=
然后,這10個(gè)山洞是圍成了一個(gè)圈的,所以是在循環(huán)訪問(wèn)數(shù)組中的內(nèi)容,用除n取余來(lái)限制。
程序代碼:
#include<iostream>
using namespace std;
int main(){int a[11]={0};int i=0,k=0;int n=10;for(i=1;i<=1000;i++){ //設(shè)定循環(huán)的次數(shù),也就是狐貍找兔子的次數(shù) k=(k+i)%n
總結(jié)
以上是生活随笔為你收集整理的C++经典问题:狐狸找兔子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 星座理想情人
- 下一篇: 04-狐狸吃兔子(C++)