軟體工程 第三周 作業(二)

來源:互聯網
上載者:User

標籤:

  問題1:

  

for (Int64 i = 1; i < Int64.MaxValue; i++)
      {
        int hit = 0;
        int hit1 = -1;
        int hit2 = -1;
        for (int j = 0; (j < rg.Length) && (hit <=2) ; j++)
        {
          if ((i % rg[j]) != 0)
          {
            hit++;
            if (hit == 1)
            {
              hit1 = j;
            }
            else if (hit == 2)
            {
              hit2 = j;
            }
            else
              break;
          }

        }
        if ((hit == 2)&& (hit1+1==hit2))

  由此段代碼知,程式要在0~2的64次冪中選出一個數

  1.這個數i無法被數組中連續的兩個數整除。

  2.數組中除了這兩個連續的數都可以將i整除

  這便是程式尋找的數符合的條件

 

  問題2:

  如果i不能被數組中的一個數a整除,那麼他也不能被a的倍數(同屬於該數組)整除,當a>1時,這a與a的整數倍(最小是2a)便不會是連續的兩個數

這樣便不滿足問題1中的條件,所以要找到i對應的兩個屬於數組的數,就應該排除掉a這種數,數組中小於16的數都滿足該條件,所以將16之前的數都排

除掉。

  對於剩下的數,質數不作處理,將合數進行拆分,以尋找能不被其他數最小公倍數整除的合數。剩下11個合數,也就是說只要求出是個合數的最小公倍

數,然後看能否被剩下的合數整除,分別求10次,來找出符合要求的合數,如果他與一個質數相連,則符合條件。經計算,最後16,17符合要求。除去16

17,剩下數數的公倍數為2123581660200。

  問題3:

  

for (int j = 0; (j < rg.Length) && (hit <=2) ; j++)        {          if ((i % rg[j]) != 0)          {            hit++;            if (hit == 1)            {              hit1 = j;            }            else if (hit == 2)            {              hit2 = j;            }            else              break;          }          

  我認為直到hit>2時跳出裡層迴圈,循每次環的次數都是不一樣的,而且不好估計均值,只知道外層迴圈迴圈了2123581660200次

所以我認為無法精確求出已耗用時間。

 

  問題4:

  多核電腦在迴圈時可以同時執行幾步,效率要比單核快得多。

軟體工程 第三周 作業(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.