一个养牛的问题 博客分类: php
程序员文章站
2024-02-28 10:40:10
...
记得有次一个表弟问了我一个他寒假作业的一个题目,大概就是有个奶农一开始有1头小牛牛,这小牛三年后能产奶,五年后可以生一个小牛,十年后会死去。如果不及一切意外的话,20年后这个奶农会有多少头牛。我当时也没好的算法。最近不是很忙,就抽空写了个php的脚本,算了下这个题,还有点意思。有兴趣的人可以看下,算法简单,应该不是最好的。
function get_cow_num($year) {
$cow_arr = array(1=>3, 2=>0, 3=>0, 4=>0, 5=>0, 6=>0, 7=>0, 8=>0, 9=>0, 10=>0);
for($i = 0; $i<$year; ++$i){
$old_cow = 0;
for($t=6; $t<11; ++$t) {
$old_cow += $cow_arr[$t];//会生小牛的牛
}
$cow_arr[10] = $cow_arr[9];
$cow_arr[9] = $cow_arr[8];
$cow_arr[8] = $cow_arr[7];
$cow_arr[7] = $cow_arr[6];
$cow_arr[6] = $cow_arr[5];
$cow_arr[5] = $cow_arr[4];
$cow_arr[4] = $cow_arr[3];
$cow_arr[3] = $cow_arr[2];
$cow_arr[2] = $cow_arr[1];
$cow_arr[1] = $old_cow;//初生的小牛
}
$cow_num = 0;
for($j=1; $j<11; ++$j) {
$cow_num += $cow_arr[$j];
}
echo "There are {$cow_num} cows after $year years!<br />";
}
//二十年内每年牛的数量
for($k=1; $k<21; ++$k) {
get_cow_num($k);
}
function get_cow_num($year) {
$cow_arr = array(1=>3, 2=>0, 3=>0, 4=>0, 5=>0, 6=>0, 7=>0, 8=>0, 9=>0, 10=>0);
for($i = 0; $i<$year; ++$i){
$old_cow = 0;
for($t=6; $t<11; ++$t) {
$old_cow += $cow_arr[$t];//会生小牛的牛
}
$cow_arr[10] = $cow_arr[9];
$cow_arr[9] = $cow_arr[8];
$cow_arr[8] = $cow_arr[7];
$cow_arr[7] = $cow_arr[6];
$cow_arr[6] = $cow_arr[5];
$cow_arr[5] = $cow_arr[4];
$cow_arr[4] = $cow_arr[3];
$cow_arr[3] = $cow_arr[2];
$cow_arr[2] = $cow_arr[1];
$cow_arr[1] = $old_cow;//初生的小牛
}
$cow_num = 0;
for($j=1; $j<11; ++$j) {
$cow_num += $cow_arr[$j];
}
echo "There are {$cow_num} cows after $year years!<br />";
}
//二十年内每年牛的数量
for($k=1; $k<21; ++$k) {
get_cow_num($k);
}
推荐阅读
-
PHP的语言结构和函数的区别 博客分类: php php语言结构函数
-
一个养牛的问题 博客分类: php
-
关于用netbeans和xdebug调试php的配置 博客分类: php
-
PHP中STDIN, STDOUT, STDERR的重定向 博客分类: PHP开发Linux学习笔记
-
深入分析Redis Server went away产生的原因 博客分类: Linux学习笔记PHP开发
-
ThinkPHP 3.1中的SQL注入漏洞分析----论ThinkPHP 3.1中的半吊子的PDO封装 博客分类: PHP开发
-
深入分析Redis Server went away产生的原因 博客分类: Linux学习笔记PHP开发
-
PHP中STDIN, STDOUT, STDERR的重定向 博客分类: PHP开发Linux学习笔记
-
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 博客分类: JDK thread
-
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 博客分类: JDK thread