標籤:bst pre 計算 長度 地址 str 多少 水仙花 array
<?php
header("content-type:text/html;charset=utf-8");
/*
1.銀行給客戶每天萬分之四的利率,本金100萬,存入10年;收入多少()
$money = 1000000;//固定值
for($i = 1 ;$i<3650;$i++){
$money += $money*0.0004;
}
echo $money;
*/
/*
2.求出1-100所有的素數
for($i = 1;$i < 100;$i++){
假設$is_sushu是真
$is_sushu = true;//設定一個參數flg
for($j = 2;$j < $i-1;$j++){
if(($i%$j) == 0){
$is_sushu = false;
}
}
if($is_sushu){
echo $i.‘<br/>‘;
}
}
*/
/*
3.求出1-1000內所用的水仙花數(3位)
for($i = 100 ;$i <= 1000;$i++){
取出百位,十位,個位
$b = (int)($i/100);
$s = (int)(($i-$b*100)/10);
$g = $i - $b*100 - $s*10;
$res = pow($b,3)+pow($s,3)+pow($g,3);
if($res == $i){
echo $i.‘是水仙花數‘.‘<br/>‘;
}
}
*/
/*
4.輸出一個階乘 //n!=1*2*3*...*n
function jc($num){
$res = 1;//設定一個固定值
for($i=1;$i<=$num;$i++){
$res *= $i;
}
return $res;
}
echo jc(4);
//遞迴函式 計算階乘(面試時會考到)
function nnn1($num1){
//用if判斷用或(||),用&&(and)找不到0/1就無限迴圈
if(($num1==0)||($num1==1)){
//return是使用在多次使用的條件下使用.
//echo是只顯示在檔案中,不是調用
return 1;
}else{
return $num1*nnn1($num1-1);//使用自身判斷
}
}
echo nnn1(6);
*/
/*
5.寫出一個函數,實現交換目的,用地址傳值
function swap(&$a,&$b){
$c = ‘‘;
$c = $a;
$a = $b;
$b = $c;
}
$a = 25;
$b = 35;
swap($a,$b);
echo ‘$a是:‘.$a.‘<br>‘;
echo ‘$b是:‘.$b;
*/
/*
6.輸出一個金字塔用函數,層數為3
for ($i=0;$i<5;$i++){
for ($j=0;$j<=$i;$j++){
echo " *";
}
echo "<br>";
}
echo ‘<hr/>‘;
for ($i=0;$i<5;$i++){
for ($j=0;$j<=$i;$j++){
echo " * ";
}
echo "<br>";
}
echo ‘<br/>‘;
for ($i=0;$i<5;$i++){
for($k=5;$k>$i;$k--){
echo ‘-‘;
}
for ($j=0;$j<=$i;$j++){
echo " *";
}
echo "<br>";
}
echo ‘<br/>‘;
for($i=5;$i>0;$i--){
for($j=5-$i;$j>0;$j--){
echo ‘*‘;
}
echo ‘<br/>‘;
}
echo ‘<hr/>‘;
for($i=5;$i>0;$i--){
for($j=5-$i;$j>0;$j--){
echo ‘* ‘;
}
echo ‘<br/>‘;
}
echo ‘<hr/>‘;
*/
/*
7.產生1-100用range(),並輸出前50個奇數,後50個偶數(用指標)
$arr = range(1, 100);
echo ‘<pre>‘;
print_r($arr);
for ($i=1; $i < 100; $i++) {
if ($i<=50) {
echo $i*2-1;
}else{
echo ($i-50)*2;
}
echo ‘<br>‘;
}
*/
/*
8.產生一副撲克,打亂髮牌,輸出三個人的牌及地主牌《用數組》
//1.輸出撲克牌
$arr = array(2,3,4,5,6,7,8,9,10,‘A‘,‘J‘,‘Q‘,‘K‘);
//count擷取數組長度從1開始
// 下標是從0開始
var_dump($arr);
$color = array(‘紅心‘,‘黑桃‘,‘方塊‘,‘梅花‘);
$poker[] = ‘POKER‘;
$poker[] = ‘poker‘;
for ($i=0; $i <count($color) ; $i++) {
for ($j=1; $j <=13 ; $j++) {
switch ($j) {
case ‘1‘:
$poker[]=$color[$i].‘A‘;
break;
case ‘1‘:
$poker[]=$color[$i].‘J‘;
break;
case ‘1‘:
$poker[]=$color[$i].‘Q‘;
break;
case ‘1‘:
$poker[]=$color[$i].‘K‘;
break;
default:
$poker[]=$color[$i].$j;
break;
}
}
}
echo ‘<pre>‘;
var_dump($poker).‘<br/>‘;
*/
/*
9.《用數組》
產生一副麻將
麻將花色:
字牌:
東西南北中發白 *4
條張:*4
1-9
筒張:*4
1-9
萬張:*4
1-9
花牌視為不存在
72+36+28=
72+64=136
$hua = array(‘筒‘,‘條‘,‘萬‘);
$zi = array(‘東風‘,‘西風‘,‘南風‘,‘北風‘,‘紅中‘,‘發財‘,‘白板‘);
$card = array();
//所有牌都是4張
for ($i=0; $i < 4; $i++) {
//三種花色迴圈
for ($j=0; $j < count($hua); $j++) {
//九張牌迴圈
for ($k = 1; $k <= 9 ; $k++) {
$card[] = change($k).$hua[$j];
}
}
//字迴圈
for ($j=0; $j < count($zi) ; $j++) {
$card[] = $zi[$j];
}
}
//阿拉伯數字轉換
function change($num){
switch ($num) {
case 1:
return ‘一‘;
case 2:
return ‘二‘;
case 3:
return ‘三‘;
case 4:
return ‘四‘;
case 5:
return ‘五‘;
case 6:
return ‘六‘;
case 7:
return ‘七‘;
case 8:
return ‘八‘;
case 9:
return ‘九‘;
}
}
echo ‘<pre>‘;
var_dump($card);
*/
/*
10.使用迴圈和隨機數演算法.產生一個10個元素的數組.每個數組中放置隨機的6位隨機字母+數字
下標為偶數
輸出每個元素的前三位.
下標為奇數
輸出後三位
使用 substr
addRand(6,10);
function addRand($kind,$len){
$a = range(‘a‘,‘z‘);
$b = range(0, 9);
$c = array_merge($a,$b);
switch ($kind) {
#純數字
case 1:
for ($i=0; $i < $len; $i++) {
shuffle($b);
echo $b[0];
}
break;
case 2:
for ($i=0; $i < $len; $i++) {
shuffle($a);
echo $a[0];
}
break;
case 3:
for ($i=0; $i < $len; $i++) {
shuffle($c);
echo $c[0];
}
break;
default:
echo ‘你搞毛啊‘;
break;
}
}
*/
/*
11.使用迴圈產生一串字串,
1,2,3,4....100;
然後使用explode()函數將其分割成數組.
$a = ‘ ‘;
//使用for迴圈產生字串
for ($i=1; $i <=100 ; $i++) {
//.是串連符
$a.=$i.‘,‘;
}
//輸出迴圈結果
echo $a;
//以逗號為分隔字元,切割字串轉換為數組
$b = explode(‘,‘, $a);
array_pop($b);
//段落顯示數組結果
echo ‘<pre>‘;
var_dump($b);
*/
?>
php學習測試題目