<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          在線面試算法題-分糖果

          共 2653字,需瀏覽 6分鐘

           ·

          2021-07-26 22:08

          ????關(guān)注后回復(fù) “進群” ,拉你進程序員交流群????

          作者丨安琪拉

          來源丨安琪拉的博客


          初一看題目,覺得好像很簡單,后來想了還是有點東西。

          這個題目的關(guān)鍵點在前一個人拿完糖,剩下的糖果數(shù)量一定是4的整數(shù)倍

          我們來看第一個人和第二個人,第一個人把糖果分成5份,還多一個,他拿走其中的一份加多出的一個,剩下4份給第二個人,剩余糖果是不是4的整數(shù)倍。

          那我們就反著推導(dǎo),假如最后一個人,也就是到第五個人,糖果剩余假設(shè)為T5,T5 = 5n+1個,滿足題目要求,他可以拿n+1個糖果。(平均分成5份,多一個,那其中一份和多出的一個)。

          根據(jù)前面的結(jié)論,我們知道 5n +1 一定是4的整數(shù)倍,如果不滿足一定不符合題目要求:前一個人剩下4份糖果給后面的人。

          第四個人準備拿時剩余糖果數(shù)假設(shè)為T4, T4 =  (5n+1) / 4 * 5 + 1  這個是關(guān)鍵,就是(5n+1) / 4 代表求出一份糖果的數(shù)量,* 5 + 1就是糖果總數(shù)。

          遞推公式出來了,剩下就是寫代碼了,如下所示:

          public class Candy {

              public static void main(String[] args) {
                  //初始值為n 從最小的開始,因為滿足最小糖果
                  int n = 0;
                  int result;
                  while((result = calculateCandyNum(n)) == -1) {
                      n++;
                  }
                  System.out.println(result);
              }

              //當前值
              private static int calculateCandyNum(int n ) {
                  int currentSum = 5 * n + 1;
                  int executeNum = 5 -1;
                  for (int i = 0; i < executeNum; i++) {
                      // 一定要被4整除
                      if (currentSum % 4 != 0) {
                          return -1;
                      }
                      currentSum = currentSum / 4 * 5 + 1;
                  }
                  return currentSum;
              }
          }

          結(jié)果:

          3121


          -End-

          最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來,可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

          點擊??卡片,關(guān)注后回復(fù)【面試題】即可獲取

          在看點這里好文分享給更多人↓↓

          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人自拍视频在线 | 熟女阿av一区二区三区 | 人妻午夜福利 | 国产刺激对白久久久 | 草逼com |