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优化及注意事项

1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。 当然了,这个测试方法需要在十万级以上次执行,效果才明显。 其实静态...

dedecms集成财付通支付接口

用织梦做了个旅游网站,客户要求财付通支付,上网找了下 不是要买就是要钱,只有自己写了。 代码: 复制代码 代码如下: <?php if(!defined('DEDEINC'...

php-fpm超时时间设置request_terminate_timeout资源问题分析

php-fpm超时时间设置request_terminate_timeout资源问题分析

php日志中有一条超时的日志,但是我request_terminate_timeout中设置的是0,理论上应该没有超时时间才对。 PHP Fatal error: Maximum exe...

php获取文件大小的方法

复制代码 代码如下:static function convert($size) {         $unit=a...

php 中英文语言转换类

起初想到制成XML文档形式,这样操作也起来很容易。只是看到说XML效率不怎样 再者就是不同的模板,可这样也有个小问题,有些词汇比如时间提示是不确定,与可能是minute ,day。也有可...