缺失的数字是多少? 2018-3-27

小红跟小明打赌玩一个游戏,先让小明从1~100的数字中挑选99个数字,然后一一随即报出,小红她就能找出那个缺失的数字。有什么好办法来实现小红这个把戏?整个过程中,她不能做任何笔记,只能用自己的脑子去记忆和思考。 分析: 1+2+3+...+100 = (1+100)*50=5050 有以下算法可以简化这个过程,小红每次把小明报的数加起来,然后只取最后两位数,例如,小明报数:35,88,21,65 那么,小红心里就这样纪录: 35 //第一次记住35即可 35+88=123 //所以心里记住 23 即可 23+21=44 //依然是2位数,记住44 44+65=109 //记住9即可 ….. ...
浏览:1539 分类:练习 详请

算算数字“1”显示多少次 2018-3-26

<?php //轿车的里程表可以显示 000000 到 999999 的任意六位数组合。里程表跑完整个显示区域,此间有多少个包含一个数字“1” 的里程数? 整个过程,数字“1” 显示多少次? (如,101111 显示了5次数字“1” ,下一个里程数101112又显示了4次) for($i=0;$i<=9;$i++){ echo $i, ' exists ', showTimes(3, $i); echo PHP_EOL; } function showTimes($num, $char){ $times = 0; $i = 0; do{ $ipad = str_pad($i,$num,'0', STR_PAD_LEFT); // echo $ipad,' ',substr_count($ipad, $char),PHP_EOL...
浏览:1450 分类:练习 详请

PHP陷阱之count 2018-3-26

$a = count ("sijiaomao") + count(null) + count(false); echo $a;//2 int count ( mixed var [, int mode] ) 返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元。 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。
浏览:1680 分类:练习 详请

php中不同类型的变量做==比较时,等号右侧的值会转换为左侧值的类型 2018-3-26

$items = array(0=>1,"ok"=>2, 3, 4); foreach($items as $key=>$val) { print($key == "ok" ? 5 : $val); } // 输出结果为 5534,why? 原来php中不同类型的变量做==比较时,会先将等号右侧的值转换为左侧值的类型,“ok”转换为数字也是0,因此结果为 5534。为避免这种情况应尽量使用 === 判断 $a = 3; $b = 5; if ($a = 3 || $b = 7) { $a++; $b++; } var_dump($a); //true var_dump($b); //6
浏览:1243 分类:练习 详请

Linux下查看TCP连接的状态的shell命令 2018-3-26

netstat -n|awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}' 统计当前TCP连接各种状态下的数量. TIME_WAIT 205 ESTABLISHED 8474 遇到这种复杂的组合Shell脚本,基本方法是把它切分,一步步来观察,这样便于理解。 第一步:netstat -n ,这个我们可以单独在命令行下去执行的看下,得到的是一个列表, -n 表示以数字形式显示端口号 第二步:netstat -n|awk ‘/^tcp/ {print $NF}’ , 这个去执行的看下,得到的是一个列表, 是把所有上一个列表包含tcp的过滤出来,同时打印出了$NF这个字段,然后可能我们不懂$NF 是什么,你去查下呀,就知道了,这是当前记录里域个数,比方说我们用 netstat -n|awk ‘/^tcp/ {print $1...
浏览:2284 分类:练习 详请