题目是:150盏亮着的电灯,各有一个拉线开关控制,按顺序编号为1,2,3,…,150.将编号为3的倍数的灯的拉线各拉一下;再将编号为5的倍数的灯的拉线各拉一下,拉完后亮着的灯数为多少盏.网上有人用各种编程语言实现,唯独没有PHP语言的,闲的无聊,自己写了一个。
<?php // 首先我定义两个变量,分别表示亮和不亮 $a = 1;// 亮 $b = 2;// 灭 // 数组里面有150盏亮着的灯 $arr = array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); // for 循环 for($i=0;$i<150;$i++){ if(($i+1)%3==0){ // 3的倍数 $arr[$i] = 2; // 灯灭了 } if(($i+1)%5==0){ // 5的倍数 if($arr[$i] == 1){// 如果灯亮的 $arr[$i] = 2; // 就灭了 }else{ // 否则 $arr[$i] = 1; // 就亮了 } } } // 现在统计亮着的和灭了的个数 print_r(array_count_values($arr)); // 打印出来的结果是 Array ( [1] => 90 [2] => 60 ) // 得到结果为,亮着的90个,灭了60个 ?>
一个比较简单的程序,实在无聊写的,哈哈。