一个很简单的PHP问题,测试你的PHP水平

职业驱魔师 2011-04-10 08:28:27
快速写出一个用递归的方法计算从1加到100的程序

要求:1.使用php
2.使用递归的方法
...全文
337 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
职业驱魔师 2011-04-14
  • 打赏
  • 举报
回复
来结贴咯//
zhyzdl 2011-04-13
  • 打赏
  • 举报
回复
学习了。。。
generalxu 2011-04-13
  • 打赏
  • 举报
回复

function add($i)
{
if((int)$i<=0)
return;
if($i==1)
return 1;
else
return $i+add($i-1);
}

add(100);
baoxiaohua 2011-04-13
  • 打赏
  • 举报
回复
楼上搞清楚什么是递归没有,递归做为一种算法在程序设计语言中广泛应用。是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。

7楼的做法最对
fesiong 2011-04-12
  • 打赏
  • 举报
回复
function sum(){
for($i=0;$i<100;$i++)
$i+=$i;
}
ImN1 2011-04-12
  • 打赏
  • 举报
回复
这个算递归么?

c:$b += ++$a;
if ($a==100) echo $b,'<br>'; else goto c;
ImN1 2011-04-11
  • 打赏
  • 举报
回复
$a = array_sum(range(1,100));
echo $a;

极讨厌简单问题复杂化,非要考递归用法就没办法……

ihefe 2011-04-11
  • 打赏
  • 举报
回复

function sum($j=100)
{
if($j!=0)
{
return $j--+sum($j);exit;
}
}

$start=gettime_test();
echo sum();
$end=gettime_test();
echo "<br/>";
echo $end-$start;

lazyboy_wu 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ihefe 的回复:]
2楼的结果不对
PHP code

function gettime_test()
{
$nowtime = explode(' ',microtime());
return $nowtime[0]+$nowtime[1];
}
function sum(){
for($i=1,$j=100;$j>=$i;$i++){
$x+=$i;
}
echo $x;
}
$start……
[/Quote]

手写的,未经测试。。不应该用 --$i, 会导致少(100 - 1) * 1

<?php
function foo($i = 100) {
return $i == 1 ? $i : $i + foo($i - 1);
}
echo foo();
amani11 2011-04-11
  • 打赏
  • 举报
回复
LZ头像不错,程序猿啊程序猿
xuzuning 2011-04-11
  • 打赏
  • 举报
回复
二楼的应写作
function foo($i = 100) {
return $i == 1 ? $i : $i + foo($i-1);
}
ihefe 2011-04-11
  • 打赏
  • 举报
回复
呃 还用递归。
ihefe 2011-04-11
  • 打赏
  • 举报
回复

2楼的结果不对

function gettime_test()
{
$nowtime = explode(' ',microtime());
return $nowtime[0]+$nowtime[1];
}
function sum(){
for($i=1,$j=100;$j>=$i;$i++){
$x+=$i;
}
echo $x;
}
$start=gettime_test();
sum();
$end=gettime_test();
echo "<br/>";
echo $end-$start;
lazyboy_wu 2011-04-10
  • 打赏
  • 举报
回复
<?php
function foo($i = 100) {
return $i == 1 ? $i : $i + foo(--$i);
}
echo foo();
hahaliu005 2011-04-10
  • 打赏
  • 举报
回复
function add(&$i = 1){
while ($i<=100){
return ($i++)+add($i);
}
}
echo add();

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧