for循环连续求和、九九乘法表代码

yipeiwu_com6年前PHP代码库
for循环的经典例子就是连续求和了:1+2+3+……+100,讲了一个多小时,还是有同学不会。做程序得有思想,有的同学一直敲键盘,也没搞出来。在做这个求和之前,我们要思考一下,求和其实就是连续的累加,当变量$i自增的时候肯定要与之前的数求和,那么怎么与之前的数求和呢?我们可以做一个拆分:把$i之前的数看作一项,单独和$i相加,同理,100加上之前99项的和,99加上之前98项的和……以此类推,2加上之前的数1,那么1呢,就是1+0。在写程序的时候,就是逆向思维了,先算0+1=1,再算1+2=3,接着3+3=6……
复制代码 代码如下:

<?php
/*
*file name: 1+...+100.php
*author: luchanghong
*email: luchanghong@xingmo.com
*time: 2011/5/24
*/
$sum = 0;
$str = '';
for($i = 0 ; $i <= 100 ; ++$i)
{
echo $str .= $i.'+';
// echo '<br>';
// echo $sum.'+'.$i.'=';
echo '=';
echo $sum = $sum+$i;
echo '<br>';
}
echo $sum;
?>

循环体中间的echo语句是为了测试过程的,可以看的更清晰。
下面的九九乘法表用的是两层for循环,可能新手觉的更难,不过,耐心学习、专心思考还是能看懂的。
复制代码 代码如下:

<?php
/*
*file name: 99.php
*author: luchanghong
*email: luchanghong@xingmo.com
*time: 2011/5/9
*/
echo '<table border=1>';
for($i = 1 ; $i<10 ; ++$i)
{
echo '<tr>';
for($j = 1 ; $j<= $i ; ++$j)
{
echo '<td>'.$j.'x'.$i.'='.$j*$i.'</td>';
}
echo '</tr>';
}
echo '</table>';
?>

相关文章

php使用yield对性能提升的测试实例分析

本文实例讲述了php使用yield对性能提升的测试。分享给大家供大家参考,具体如下: 生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,...

php 常用算法和时间复杂度

按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3)复制代码 代码如下://二分...

利用Ffmpeg获得flv视频缩略图和视频时间的代码

利用Ffmpeg获得flv视频缩略图和视频时间的代码

问题描述;获得flv视频的缩略图和视频时间长度 谷歌了半天发现可以使用Ffmpeg获得视频的一些信息,先介绍一下FFMEPG 这里简单说一下:FFmpeg是用于录制、转换和流化音频和...

解析dedecms空间迁移步骤详解

1.在新空间重新安装一次原版本的DEDECMS,然后把旧站的所有数据,这里的数据指的是文件,即除了根目录下文件夹include下的配置文件config_base.php外的所有文件覆盖到...

php获取当前时间的毫秒数的方法

php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,该函数返回一个array,包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回...