用两种PHP方法实现1到100之间偶数之和
5个回答
展开全部
<?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;
}
}
展开全部
<?
$sum=0;
for($i=0;$i<=100;$i+=2){
$sum+=$i;
}
echo $sum;
?>
$sum=0;
for($i=0;$i<=100;$i+=2){
$sum+=$i;
}
echo $sum;
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
$arr = range(0,100,2);
echo array_sum($arr);
?>
还有更简洁的么?
$arr = range(0,100,2);
echo array_sum($arr);
?>
还有更简洁的么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sum=0;
for($i=1;$i<=100;$i++){
if($i%2==0){
$sum+=$i;
}
}
echo $sum;
for($i=1;$i<=100;$i++){
if($i%2==0){
$sum+=$i;
}
}
echo $sum;
参考资料: http://www.wenlingnet.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sum=0;
for($i=1;$i<=100;$i++){
if($i%2==0){
$sum+=$i;
}
}
echo
$sum;
for($i=1;$i<=100;$i++){
if($i%2==0){
$sum+=$i;
}
}
echo
$sum;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询