国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

編程題分享:有?堆糖果,其數(shù)量為n,現(xiàn)將糖果分成不同數(shù)量的堆數(shù)

這篇具有很好參考價值的文章主要介紹了編程題分享:有?堆糖果,其數(shù)量為n,現(xiàn)將糖果分成不同數(shù)量的堆數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  • 背景
    近期面試遇到一家公司的編程題,覺得挺有參考價值
    此處使用 PHP語言,進行編碼測試,
    編碼之前要進行思路分析,避免無頭蒼蠅,走一步看一步
    最后,希望后期面試順利!歡迎指摘 .

  • 題目:

	編程題:
	有?堆糖果,其數(shù)量為n,
	現(xiàn)將糖果分成不同數(shù)量的堆數(shù)(每堆數(shù)量均為整數(shù),最少為1),
	請算出糖果堆對應(yīng)數(shù)量的最?乘積是多少,并給出對應(yīng)的分配?案;
	舉例:糖果數(shù)量為8,可以得到的乘積最?為18,對應(yīng)的分配?案為【2,3,3】;
  • 思路分析:

初始測試數(shù)據(jù)比較小,可以在草稿紙上窮舉分配方案,尋找規(guī)律,發(fā)現(xiàn):文章來源地址http://www.zghlxwxcb.cn/news/detail-512427.html

  1. 當(dāng)數(shù)量小于5時,最大的乘積就是本身,無需分配
  2. 其次注意到分配后的數(shù)目如果是1則毫無意義,
  3. 同時窮舉發(fā)現(xiàn),越靠近數(shù)字3,乘積越大,得到的分配方案最符合要求
  4. 所以算法重點處理數(shù)量大于5的情況
    首先獲取除3的整數(shù)部分 $count, 和取模數(shù)字 $mod
    根據(jù)變量 $count ,判斷乘積,for 循環(huán)處理,并得到每個分配數(shù)字
    分析 $mod 變量的影響,使得分配數(shù)盡可能靠近數(shù)字 3
    最后,簡單測試數(shù)量 n,驗證分配方案是否符合實際要求 .
  • 編碼如下:
**
 * 有?堆糖果,其數(shù)量為n,現(xiàn)將糖果分成不同數(shù)量的堆數(shù)
 * @param int $z_number 糖果數(shù)量
 * @return string 檢測結(jié)果
 */
public function zingFunc($z_number = 0){
    //檢驗數(shù)據(jù)規(guī)范性
    $res_msg = '分配數(shù)字為:'.$z_number;
    //最大乘積
    $max_result = 1;
    //方案分配
    $option_msg = '';
    if (is_int($z_number)&& $z_number > 0){
        if ($z_number < 5){
            $max_result = $z_number;
            $option_msg = $z_number;
        }else{
            //整數(shù)大于5,詳細分析
            //取商的整數(shù)
            $count = intval($z_number/3);
            //除3取模
            $mod = $z_number%3;
            $arr_option = [];

            if ($mod == 0){
                //此時正好是統(tǒng)一分配
                for ($i=0;$i<$count;$i++){
                    $max_result*=3;
                    $arr_option[] = 3;
                }
            }elseif ($mod == 1){
                //對其中的一個分配數(shù)加1
                for ($i=0;$i<$count-1;$i++){
                    $max_result*=3;
                    $arr_option[] = 3;
                }
                $max_result *=4;
                $arr_option[] = 4;
            }else{
                //余數(shù)為2的時候,可以對前面取兩堆,分別加1
                for ($i=0;$i<$count-2;$i++){
                    $max_result*=3;
                    $arr_option[] = 3;
                }
                $max_result *=4;
                $max_result *=4;
                $arr_option[] = 4;
                $arr_option[] = 4;
            }
            $option_msg = implode(',',$arr_option);
        }
        $res_msg .= ',最大乘積為:'.$max_result.',方案分配為:【'.$option_msg.'】';
    }else{
        $res_msg .= ',數(shù)據(jù)輸入不是正整數(shù)';
    }
    //echo('<br>'.$res_msg);
    return $res_msg;
}
  • 測試截圖:
    編程題分享:有?堆糖果,其數(shù)量為n,現(xiàn)將糖果分成不同數(shù)量的堆數(shù)

到了這里,關(guān)于編程題分享:有?堆糖果,其數(shù)量為n,現(xiàn)將糖果分成不同數(shù)量的堆數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 如何使用不同的方法和命令來檢查 Ubuntu 中的 CPU 數(shù)量?

    如何使用不同的方法和命令來檢查 Ubuntu 中的 CPU 數(shù)量?

    在使用 Ubuntu 操作系統(tǒng)時,了解系統(tǒng)中的 CPU 數(shù)量對于優(yōu)化系統(tǒng)性能和資源分配非常重要。通過檢查 CPU 數(shù)量,我們可以了解系統(tǒng)的處理能力和并發(fā)性,并根據(jù)需要進行適當(dāng)?shù)呐渲煤蛢?yōu)化。本文將詳細介紹如何使用不同的方法和命令來檢查 Ubuntu 中的 CPU 數(shù)量。 lscpu 命令是一個

    2024年02月07日
    瀏覽(19)
  • Python統(tǒng)計全球星巴克門店的數(shù)據(jù)及在不同國家和地區(qū)門店數(shù)量可視化(超詳細 附源碼)

    Python統(tǒng)計全球星巴克門店的數(shù)據(jù)及在不同國家和地區(qū)門店數(shù)量可視化(超詳細 附源碼)

    需要源碼和數(shù)據(jù)集請點贊關(guān)注收藏后評論區(qū)留言私信~~~ 下面對一組關(guān)于全球星巴克門店的統(tǒng)計數(shù)據(jù),分析了在不同國家和地區(qū)以及中國不同城市的星巴克門店的數(shù)量 首先查看星巴克旗下有哪些品牌,如果我們只關(guān)心星巴克咖啡門店,則只需要獲取星巴克中Brand的數(shù)據(jù)集,并查

    2024年02月06日
    瀏覽(27)
  • 【Unity URP渲染管線下設(shè)置燈光數(shù)量上限_燈光不顯示問題案例分享】

    【Unity URP渲染管線下設(shè)置燈光數(shù)量上限_燈光不顯示問題案例分享】

    1.我的這個項目是在URP渲染管線下,我在場景里創(chuàng)建了六個點燈,轉(zhuǎn)動物體的時候,發(fā)現(xiàn)燈顯示不全,會一閃一閃的出現(xiàn)。 2.在RenderPipelineAsset配置文件中查看燈光數(shù)量上限,首先在EditProject Setting 3.在Project Setting里選Quality,在Rendering找到UniversalRP Asset 4.選中UniversalRP Asset文件

    2024年02月16日
    瀏覽(50)
  • 多種編程語言運行速度排名-10億次除7求余數(shù)為0的數(shù)量

    多種編程語言運行速度排名-10億次除7求余數(shù)為0的數(shù)量

    最佳方式是運行10次,取平均數(shù),用時秒數(shù)顯示3位小數(shù)。 因為第一次打開,可能CPU還沒優(yōu)化好,多次取平均,比較準(zhǔn)確 第1次共10次,用時3秒,平均3秒 第2次共10次,用時4秒,平均3.5秒 我主要是研究相同的函數(shù),相同的 算法,不同編程語言,哪個運行更快 問: 為啥要找7的

    2024年02月11日
    瀏覽(23)
  • vue中實現(xiàn)將html導(dǎo)出為word文檔

    vue中實現(xiàn)將html導(dǎo)出為word文檔

    需求:將頁面整成理想樣式,將想要的那一部分頁面導(dǎo)出成word,不用寫模板,按照當(dāng)前頁面樣式導(dǎo)出即可。(簡易版) 保姆級別教程: 第一步:安裝需要的依賴 第二步:給導(dǎo)出那部分的容器起個id名 第三步:在需要的地方引入依賴 第四步:獲取dom節(jié)點myContainer并導(dǎo)出(我寫

    2024年02月11日
    瀏覽(19)
  • 分享兩組不同的3D VR卡片

    分享兩組不同的3D VR卡片

    最近某音上出現(xiàn)了很多VR視頻,轉(zhuǎn)動手機可以看到手機界面未顯示出來的場景。這種事情我覺得我們也可以做到。 所以兩種不同的3D VR卡片來了: 第一種是橫向或上下可以拖動極大的距離。卡片上的信息會隨著拖動移動,但不會顯示更多的信息: 第二種是橫向或者上下拖動距

    2024年02月08日
    瀏覽(12)
  • vue中實現(xiàn)將頁面或者div內(nèi)容導(dǎo)出為pdf格式

    將Vue單頁面轉(zhuǎn)成pdf并下載 步驟1:下載對應(yīng)的庫 步驟2:創(chuàng)建一個htmlToPdf.js的js文件, 然后在main.js中全局引用一下,編寫如下代碼: 步驟三:在vue頁面中給需要打印的區(qū)域一個div標(biāo)簽,然后給div一個id,id名和htmlToPdf.js中選擇的名字一致,代碼如下: 步驟四:在data節(jié)點中聲明一

    2024年02月11日
    瀏覽(33)
  • C語言實現(xiàn)將字典dict.txt上傳到數(shù)據(jù)庫中
  • Java中的堆和棧

    Java中的堆和棧

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到網(wǎng)站。 Java數(shù)據(jù)類型在執(zhí)行過程中存儲在兩種不同形式的內(nèi)存中:棧和堆,它們通常由運行Java虛擬機(JVM)的底層平臺維護。本文從Java軟件開發(fā)的角度提供了對這兩種內(nèi)存類

    2023年04月08日
    瀏覽(31)
  • dijkstra的堆優(yōu)化

    核心:priority_queue pairint,int 用優(yōu)先隊列來取最近的點,就不用遍歷找點了 在pq中,是按pair的第一個元素(first)由大到小排序的,所以pair距離,點號,注意因為要的是最小值,所以距離要存負值 其實距離是純純的工具人,我們只是需要它來維持點的排序 每次取隊首h,取出的

    2024年02月09日
    瀏覽(9)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包