狼追兔子,急.(狼追兔子)一只兔子躲进了10个环形分布洞的某一个中,狼在第一个洞中没有找到兔子,就隔一个洞,到第三个洞去

问题描述:

狼追兔子,急.
(狼追兔子)一只兔子躲进了10个环形分布洞的某一个中,狼在第一个洞中没有找到兔子,就隔一个洞,到第三个洞去找,也没有找到,就间隔两个洞,到第六个洞去找,以后每次多一个洞去找兔子…这样下去,如果狼一直找不到兔子.请问兔子可能躲在哪个洞中?给出算法步骤,并编程求出结果,进一步考虑洞的数量有变化时的情况,编制以洞的数量为变量的matlab的函数文件.
1个回答 分类:综合 2014-11-09

问题解答:

我来补答
不考虑循环,得一数列
1,3,6,10,15,21.
对应C(2.2),C(3,2),C(4,2),C(5,2).
得数列通项为C(n+1,2)=n(n+1)/2
数列通项除以10后的余数就是狼找过的洞的号数,相应的除以10后未出现的余数
用MATLAB输入N,得出前N个数项除以10后的余数,应该可以看出规律来
洞数改变后,比如说k个洞,那就是数列项除以k后的余数就是狼找过的洞的号数
电脑中MATLAB删了很久了,程序你就自己写了,若不用电脑找出循环规律的话也就两个输入K和N
,一个循环语句.
再问: 关键就是matlab程序不会啊。。。。
再答: 晕,我大致写一下,你自己上机测试修改.长期不编程了,可能会把C,BASIC,MATLAB的语句弄混淆. k=input('number of whole'); n=input('Sequence number'); for i=1:n n\k, end 这样应该就可以,不过这个是单纯的M文件. 若是要函数的话,好像是把前两行改为function f=seqfun(k,n) 然后将文件保存为seqfun.m
 
 
展开全文阅读
剩余:2000
上一页:周五
下一页:责任的事实论据