小练习

作者: Arnold_Z | 来源:发表于2016-11-16 22:53 被阅读24次

    Ps:用php语言实现;2017.02.07将里面部分代码改写成函数形式。

    程序1
    题目:

    企业发放的奖金根据利润提成:
    利润低于或等于10W元时,奖金可提10%;
    利润高于10W元、低于20W元时,低于10W元部分按10%提成,高于10W元不分,可提成7.5%;
    20W~40W之间,高于20W提成5%;
    40W~60W时高于40W部分提成3%;
    60W到100W时高于60W部分提成1.5%;
    100W+时,高于100W部分按1%提成。
    从键盘输入当月利润,求应发放奖金总数。(用if elseif坐范围讨论)

    function lirun($m){
    if ($m <= 100000) {
      $r = $m * 0.1;
    }elseif ($m <= 200000) {
      $m = $m - 100000;
      $r = $m * 0.075 + 10000;
    }elseif ($m <= 400000) {
      $m = $m - 200000;
      $r = $m * 0.05 + 17500;
    }elseif ($m <= 600000) {
      $m = $m - 400000;
      $r = $m * 0.03 + 27500;
    }elseif ($m <= 1000000) {
      $m = $m - 600000;
      $r = $m * 0.015 + 33500;
    }else {
      $r = ($m - 1000000) * 0.01 + 39500;
    }
    return $r;
    

    }


    程序2

    输入三个整数xyz,找出最大数

    function maxThree($a, $b, $c){
        $max = ($a > $b)?(($a > $c)?$a:$c):(($b > $c)?$b:$c);
        return $max;
    }
    

    程序3

    打印出所有的“水仙花数”(Ps:水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。)

    function shuixianhua(){
      for($i = 100;$i < 1000;$i++){
        $a = (int)($i/100);
        $b = (int)($i%100/10);
        $c = $i%10;
        if(pow($a, 3)+pow($b,3)+pow($c,3) == $i){
          echo $i . "<br />";
        }
      }
    }
    
    小练习程序3.png

    程序4

    猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又吃了一个,第二天早上又将剩下的桃子吃掉一半且有多吃一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上再吃时,只剩下1个桃子,求第一天共摘了多少桃子。

    function monkey($left){
      $day = 9;
       while ($day > 0) {
        $a = ($left +1) * 2;
        $left = $a;
        $day--;
      }
      return $a;
    }
    

    程序5

    有以分数序列:2/1、3/2、5/3、8/5、13/8、21/13...求出这个数列前20项之和。

    function sum(){
      $a = 2;
      $b = 1;
      $sum = 0;
      while ($i <= 20) {
        $sum += $a/$b;
        $temp = $a;
        $a = $a + $b;
        $b = $temp;
        $i++;
      }
      return $sum;
    }
    

    程序6

    假设某人有100,000现金。每经过一次路口需要进行一次缴费。缴费规则为当现金大于50,000时每次需缴5%;若小于等于50,000时每次交5,000。请写一程序计算此人可以经过多少次这个路口。

    $i = 0;
    $cash = 100000;
    while ($cash >= 5000) {
      if ($cash > 50000) {
        $cash *= 0.95;
      }else {
        $cash -= 5000;
      }
      $i+=1;
    }
    echo '第',$i,'次过桥,剩下',$cash,'元钱';
    
    小练习程序6.png

    程序7

    打印九九乘法表

    for ($i=1; $i<10; $i++) {
      for ($j=1; $j<=$i; $j++) {
        echo "$i X $j =",$i * $j,"&nbsp&nbsp&nbsp";
      }
      echo "<br />";
    }
    
    小练习程序7.png

    程序8

    公鸡5文钱1只,母鸡3文钱1只,小鸡1文钱3只。现在用100文钱共买了100只鸡,问这100只鸡里面公鸡母鸡小鸡各多少只?

    for ($g=1; $g<=20 ; $g++) {
      for ($m=1; $m<=33 ; $m++) {
        for ($x=1; $x<=100 ; $x++) {
          if (($g + $m + $x == 100) && ($g*5 + $m*3 + $x/3) == 100) {
            echo "买了",$g,"只公鸡,",$m,"只母鸡和",$x,"只小鸡。<br />";
          }else {
    
          }
        }
      }
    }
    
    小练习程序8.png

    程序9

    求1到100内的素数

    for ($i=2; $i <=100 ; $i++) {
        $k = 1;
        for ($j=2; $j < $i-1 ; $j++) {
            if ($i % $j == 0) {
                $k++;
            }
        }
        if ($k == 1) {
          echo $i,"<br />";
        }
    }
    

    程序10

    一种羊,第二年生一个小羊,第四年生一个小羊,第五年死。20年后有多少羊?

    function yang($n){
      $arr = [$n, 0, 0, 0];
      $i = 1;
      while ($i <= 20) {
        $temp = $arr[1] + $arr[3];
        array_unshift($arr, $temp);
        array_pop($arr);
        $i++;
      }
      echo array_sum($arr);
    }
    

    程序11

    n只猴子做成一个圈,按顺时针方向从1到n编号。然后从1号猴子开始沿顺时针报数,报到m的猴子出局,再从刚出局的猴子下一个开始重新报数,报到m的猴子出局,以此类推,剩下的一只猴子为王。
    设计编写程序,实现如下功能:1)、要求由用户输入开始的猴子n,和报数的最后一个数字m;2)、给出当选猴王的初始编号。

    function selectMonkey($n, $m){
      $arr = range(1,$n);
      $mark = 0;
          $i = 0;
      if ($n < 2) {
        echo "只有一只猴子";
        return false;
      }else {
        while ($i <= $n * $m) {
          $i++;
          foreach ($arr as $k => $v) {
            $mark++;
            if($mark == $m){
              echo $arr[$k] . "号被淘汰" . "<br />";
              unset($arr[$k]);
              $mark = 0;
            }
            if (count($arr)==1) {
              $rs = reset($arr) . "号是猴子王";
              return $rs;
            }
          }
        } 
      }
    }
    

    相关文章

      网友评论

          本文标题:小练习

          本文链接:https://www.haomeiwen.com/subject/oszrpttx.html