内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

PHP求最大奇約數(shù)和的方法示例-創(chuàng)新互聯(lián)

今天小編給大家分享的是PHP求大奇約數(shù)和的方法示例,很多人都不太了解,今天小編為了讓大家更加了解PHP求大奇約數(shù)和的方法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

在龍山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)整合營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,龍山網(wǎng)站建設(shè)費(fèi)用合理。

PHP求大奇約數(shù)和的方法示例

小易是一個(gè)數(shù)論愛(ài)好者,并且對(duì)于一個(gè)數(shù)的奇數(shù)約數(shù)十分感興趣。一天小易遇到這樣一個(gè)問(wèn)題: 定義函數(shù)f(x)為x大的奇數(shù)約數(shù),x為正整數(shù)。 例如:f(44) = 11.

現(xiàn)在給出一個(gè)N,需要求出 f(1) + f(2) + f(3)…….f(N)

例如: N = 7

f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1 + 3 + 1 + 5 + 3 + 7 = 21

小易計(jì)算這個(gè)問(wèn)題遇到了困難,需要你來(lái)設(shè)計(jì)一個(gè)算法幫助他。

<?php
$num = trim(fgets(STDIN));

function jNum($num){
        $m = $num/2;
        $res = 1;
        if($num&0x1 == 1){//如果他本身就是個(gè)奇數(shù),那么他的大奇約數(shù)就是他本身
                $res = $num;
                goto HELL;
        }
        for($i = 1; $i<=$m; $i=$i+2){//如果不是,那么就從1開(kāi)始一直往上除,每次+2(奇數(shù))
                if($num%$i==0){
                        $res = $i;
                }
        }
        HELL:
        return $res;
}

function jNum2($num)
{
        $res = 0;

        for($i=1;$i<=$num;$i++){
                if(($i&0x1) == 1){//如果他本身就是個(gè)奇數(shù),那么他的大奇約數(shù)就是他本身
                        $res+=$i;
                }else{
                        $n = $i;
                        while(true){//優(yōu)化,從大的數(shù)開(kāi)始往下除
                                $n = $n>>1;
                                if(($n&0x1) == 1){
                                        $res+=$n;
                                        break;
                                }
                        }
                }
        }

        HELL:
        return $res;
}

function jNum3($num){//公式法
        if($num == 1){
                return 1;
        }
        if(($num&0x1) == 0){
                return jNum3($num>>1)+$num*$num/4;
        }else{
                return jNum3($num-1)+$num;
        }

}
//$sum = 0;
//for($i = 1; $i<=$num; $i++){
//      $sum+=jNum($i);
//}
//echo $sum;

//echo jNum2($num);

echo jNum3($num);

開(kāi)始常規(guī)思路,一直調(diào)試的方法1,一直超時(shí),改為方法2,還是超時(shí),沒(méi)有什么本質(zhì)區(qū)別。

換思路。。

求sum(i)的過(guò)程中,如果i 為奇數(shù)可以直接求,就是 i 本身,即f(i) = i。

問(wèn)題就是求所有f(i), i為偶數(shù)的和。

因?yàn)槭谴笃婕s數(shù),所以f(2k) = f(k),所以f(2) + f(4) + … + f(2k) = f(1) + f(2) + … + f(k);

所以,數(shù)學(xué)歸納法,可以求出通用公式

PHP求大奇約數(shù)和的方法示例

這個(gè)做法還是不容易想到的。。。這么BT的題。。

以上就是PHP求大奇約數(shù)和方法的簡(jiǎn)略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過(guò)才領(lǐng)會(huì)。如果想了解更多,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道哦!

分享標(biāo)題:PHP求最大奇約數(shù)和的方法示例-創(chuàng)新互聯(lián)
文章鏈接:http://www.rwnh.cn/article8/jojip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站ChatGPT、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)
昭通市| 南城县| 克拉玛依市| 武胜县| 乌拉特中旗| 化隆| 大城县| 渭南市| 搜索| 铜川市| 乌兰察布市| 东乌| 西青区| 白城市| 霞浦县| 昂仁县| 深水埗区| 洪泽县| 正安县| 长武县| 和硕县| 宁乡县| 滁州市| 汉寿县| 云南省| 乳山市| 宁陕县| 贡觉县| 黎城县| 天峨县| 基隆市| 塔河县| 苗栗市| 兴隆县| 重庆市| 克山县| 龙胜| 郎溪县| 福安市| 房产| 峡江县|