久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP數(shù)組學(xué)習(xí)之返回給定兩數(shù)間的全部公因數(shù)和最大公因數(shù)

      在之前的文章《PHP數(shù)組學(xué)習(xí)之更改鍵/值的大寫或小寫》中,我們介紹了PHP關(guān)聯(lián)數(shù)組中更改數(shù)組鍵名或者鍵值大小寫的方法。這次我們看看如何獲取兩個(gè)整數(shù)的所有公因數(shù),并求最大公因(約)數(shù),感興趣的朋友可以學(xué)習(xí)了解一下~

      首先我們來了解一下什么是公因(約)數(shù)和最大公因(約)數(shù)?

      因(約)數(shù)是指能整除一個(gè)整數(shù)的數(shù),公因(約)數(shù)則是能同時(shí)整除幾個(gè)整數(shù)的數(shù)。而能同時(shí)整除幾個(gè)整數(shù)的 公約數(shù) 可以有多個(gè),其中最大的那個(gè)就是最大公因數(shù)。

      例如:數(shù)30和40,它們的公因數(shù)有1、2、5、10;其中10最大,因此數(shù)30和40的最大公因數(shù)為10。

      那么我們?cè)趺词褂肞HP來獲取兩個(gè)整數(shù)a和b間的公因數(shù)和最大公因數(shù)呢?

      思路:

      1、分別獲取兩個(gè)整數(shù)a和b間因數(shù)(這個(gè)在上文PHP循環(huán)學(xué)習(xí)八中有詳細(xì)介紹),然后將這些因數(shù)分別存到一個(gè)數(shù)組中。這里以數(shù)30為例,使用for循環(huán)求所有因數(shù):

      for($i=1;$i<30;$i++){     if($a%$i==0){//分解因數(shù)         $arr1[]=$i;     } }

      輸出這個(gè)數(shù)組$arr1

      var_dump($arr1);

      看看結(jié)果:

      PHP數(shù)組學(xué)習(xí)之返回給定兩數(shù)間的全部公因數(shù)和最大公因數(shù)

      可以看出數(shù)30的因數(shù)有:1、2、3、5、6、10、15。

      利用上述的方法我們?cè)佾@取數(shù)40的所有因數(shù),將它們存到一個(gè)數(shù)組$arr2中:

      PHP數(shù)組學(xué)習(xí)之返回給定兩數(shù)間的全部公因數(shù)和最大公因數(shù)

      可以看出數(shù)40的因數(shù)有:1、2、4、5、8、10、20。

      2、兩個(gè)整數(shù)的所有因數(shù)都獲取了,就可以使用array_intersect()函數(shù)來求它們間的所有公因數(shù)了。(array_intersect()函數(shù)可以計(jì)算兩個(gè)數(shù)組的交集,不懂可以閱讀《PHP數(shù)組學(xué)習(xí)之如何比較兩個(gè)數(shù)組求交集》)。

      $result=array_intersect($arr1,$arr2); var_dump($result);

      輸出結(jié)果為:

      PHP數(shù)組學(xué)習(xí)之返回給定兩數(shù)間的全部公因數(shù)和最大公因數(shù)

      這樣就可以得出數(shù)30和40的所有公因數(shù):1、2、5、10。

      3、30和40的所有公因數(shù)都在交集數(shù)組$result中,我們就可以使用max()函數(shù)來獲取數(shù)組中最大的那個(gè)數(shù),即最大公因數(shù)。

      $max=max($result); echo "最大公因數(shù)為: $max";

      輸出結(jié)果為:

      PHP數(shù)組學(xué)習(xí)之返回給定兩數(shù)間的全部公因數(shù)和最大公因數(shù)

      OK,完成!將上面的代碼封裝在一個(gè)函數(shù)里面:

      <?php header("Content-type:text/html;charset=utf-8"); function gcd($a,$b){ $arr1=array(); $arr2=array(); for($i=1;$i<$a;$i++){     if($a%$i==0){//分解因數(shù)         $arr1[]=$i;     } } for($i=1;$i<$b;$i++){     if($b%$i==0){//分解因數(shù)         $arr2[]=$i;     } }  $result=array_intersect($arr1,$arr2); echo "數(shù) $a 和 $b 的公因(約)數(shù)有:"; foreach($result as $value){ 	echo $value." , "; }  $max=max($result); echo "<br>最大公因數(shù)為: $max  <br><br>"; } gcd(30,40); gcd(12,16); ?>

      輸出結(jié)果:

      PHP數(shù)組學(xué)習(xí)之返回給定兩數(shù)間的全部公因數(shù)和最大公因數(shù)

      好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦?!?→php視頻教程

      最后給大家推薦一個(gè)PHP數(shù)組的免費(fèi)視頻教程:PHP函數(shù)之a(chǎn)rray數(shù)組函數(shù)視頻講解,快來學(xué)習(xí)吧!

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)