用两种PHP方法实现1到100之间偶数之和

 我来答
ioioj5
推荐于2017-10-06 · 超过22用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:39.1万
展开全部
<?php
echo one(1, 100); // 方法一 : 使用for结构
echo "\n";
echo two(1, 100); // 方法二 : 使用while结构
echo "\n";
echo three(1, 100); // 方法三 : 使用do...while结构
echo "\n";
echo four(1, 100); // 方法四 : 使用递归函数
/**
 * 使用for结构
 * @param int $start 开始
 * @param ini $end 结束
 *
 * @return int 和
 */
function one($start = 0, $end = 0) {
// 判断函数有效条件
if( ($start == 0 && $end == 0) || ($end <= $start)) return 0;

    $num = 0;

    for($i = $start; $i <= $end; $i++){
        if($i % 2 == 0) { // 模运算
            $num += $i;
        }
    }

    return $num;
}
/**
 * 使用while结构
 * @param int $start 开始
 * @param ini $end 结束
 *
 * @return int 和
 */
function two($start = 0, $end = 0){
// 判断函数有效条件
if( ($start == 0 && $end == 0) || ($end <= $start)) return 0;
    $num = 0;
$i = $start; // 初始化增量$i

    while($i <= $end){
        if($i % 2 == 0) { // 模运算
            $num += $i;
        }
        $i++;
    }

    return $num;
}
/**
 * 使用do...while结构
 * @param int $start 开始
 * @param ini $end 结束
 *
 * @return int 和
 */
function three($start = 0, $end = 0){
// 判断函数有效条件
if( ($start == 0 && $end == 0) || ($end <= $start)) return 0;
    $num = 0;
$i = $start;
do{
        if($i % 2 == 0) { // 模运算
            $num += $i;
        }
        $i++;
}while($i <= $end);

    return $num;
}
/**
 * 使用递归函数
 * @param int $start 开始
 * @param int $end 结束
 * @param int $i 增量
 * @param int $num 和
 *
 * @return int 和
 */
function four($start = 0, $end = 0, $i = 0 , $num = 0){
// 判断函数有效条件
if( ($start == 0 && $end == 0) || ($end <= $start)) return 0;

static $i = 1, $num = 0; // 将增量变量$i与统计和的变量$num设为静态变量, 保存每次计算后的结果并计入下一次计算中

    if($i <= $end) {
if($i % 2 == 0){ // 还是模运算
$num += $i;
$i++;
return four($start, $end, $i, $num);
}else {
$i++;
return four($start, $end, $i, $num);
}
}else { // $i > 100, 跳出递归, 返回计算结果
return $num;
}
}
z_by
2010-07-13 · TA获得超过1947个赞
知道大有可为答主
回答量:2699
采纳率:66%
帮助的人:2043万
展开全部
<?
$sum=0;
for($i=0;$i<=100;$i+=2){
$sum+=$i;
}
echo $sum;
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuzwu
2010-07-13 · 超过28用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:113万
展开全部
<?php
$arr = range(0,100,2);
echo array_sum($arr);
?>

还有更简洁的么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刑慕诗Lw
推荐于2017-10-11 · TA获得超过356个赞
知道小有建树答主
回答量:118
采纳率:100%
帮助的人:80.8万
展开全部
$sum=0;
for($i=1;$i<=100;$i++){
if($i%2==0){
$sum+=$i;
}
}
echo $sum;

参考资料: http://www.wenlingnet.com

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7bf8cae19ee
2019-06-13 · TA获得超过3753个赞
知道大有可为答主
回答量:3127
采纳率:25%
帮助的人:212万
展开全部
$sum=0;
for($i=1;$i<=100;$i++){
if($i%2==0){
$sum+=$i;
}
}
echo
$sum;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式