亚洲国产91高清,日韩欧美一区二区三区不卡在线,在线看国产国语三级在线看,AV片免费观看网址

<dfn id="uiowy"></dfn>
<rt id="uiowy"></rt>
  • <dl id="uiowy"><abbr id="uiowy"></abbr></dl>
  • <abbr id="uiowy"><kbd id="uiowy"></kbd></abbr>
    <dfn id="uiowy"><source id="uiowy"></source></dfn>

    2017上半年軟件設(shè)計(jì)師考試下午真題(四)

    軟件設(shè)計(jì)師 責(zé)任編輯:長頸鹿 2017-05-26

    添加老師微信

    備考咨詢

    加我微信

    摘要:希賽網(wǎng)整理了2017上半年軟件設(shè)計(jì)師考試下午真題,以下是第四部分。

          >>>>點(diǎn)擊進(jìn)入了解軟件設(shè)計(jì)師培訓(xùn)視頻

        >>>>點(diǎn)擊進(jìn)入了解軟件設(shè)計(jì)師面授班


        希賽網(wǎng)整理了2017上半年軟件設(shè)計(jì)師考試下午真題,以下是第四部分。

          試題四

          閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對應(yīng)欄內(nèi)。

          【說明】

          假幣問題:有n枚硬幣,其中有一枚是假幣,己知假幣的重量較輕。現(xiàn)只有一個(gè)天平,要求用盡量少的比較次數(shù)找出這枚假幣。

          【分析問題】

          將n枚硬幣分成相等的兩部分:

          (1)當(dāng)n為偶數(shù)時(shí),將前后兩部分,即1...n/2和n/2+1...0,放在天平的兩端,較輕的一端里有假幣,繼續(xù)在較輕的這部分硬幣中用同樣的方法找出假幣:

          (2)當(dāng)n為奇數(shù)時(shí),將前后兩部分,即1..(n-1)/2和(n+1)/2+1...0,放在天平的兩端,較輕的一端里有假幣,繼續(xù)在較輕的這部分硬幣中用同樣的方法找出假幣:若兩端重量相等,則中間的硬幣,即第(n+1)/2枚硬幣是假幣。

          【C代碼】

          下面是算法的C語言實(shí)現(xiàn),其中:

          coins[]:硬幣數(shù)組

          first,last:當(dāng)前考慮的硬幣數(shù)組中的第一個(gè)和最后一個(gè)下標(biāo)

    #include <stdio.h>


    int getCounterfeitCoin(int coins[], int first,iot last)

    {

          int firstSum = 0,lastSum = 0;

          int ì;

          If(first==last-1){        /*只剩兩枚硬幣*/

               if(coins[first] < coins[last])

                     return first;

               return last;

           }



    if((last - first + 1) % 2 =0){   /*偶數(shù)枚硬幣*/

           for(i = first;i <(   1   );i++){

                 firstSum+= coins[i];

            }

            for(i=first + (last-first) / 2 + 1;i < last +1;i++){

                lastSum += coins[i];

            }

            if(    2    ){

                Return getCounterfeitCoin(coins,first,first+(last-first)/2;)

            }else{

                Return getCounterfeitCoin(coins,first+(last-first)/2+1,last;)

            }

    }

    else{       /*奇數(shù)枚硬幣*/

            For(i=first;i<first+(last-first)/2;i++){

                   firstSum+=coins[i];

            }

            For(i=first+(last-first)/2+1;i<last+1;i++){

                   lastSum+=coins[i];

            }

            If(firstSum<lastSum){

                   return getCounterfeitCoin(coins,first,first+(last-first)/2-1);

            }else if(firstSum>lastSum){

                   return getCounterfeitCoin(coins,first+(last-first)/2-1,last);

            }else{

                Return(   3    )

            }

         }

    }

          【問題一】

          根據(jù)題干說明,填充C代碼中的空(1)-(3)

          【問題二】

          根據(jù)題干說明和C代碼,算法采用了()設(shè)計(jì)策略。函數(shù)getCounterfeitCoin的時(shí)間復(fù)雜度為()(用O表示)。

          【問題三】

          若輸入的硬幣數(shù)為30,則最少的比較次數(shù)為(),最多的比較次數(shù)為()。


        >>>返回目錄:2017上半年軟件設(shè)計(jì)師考試下午真題匯總

        >>>點(diǎn)擊查看:2017上半年軟件設(shè)計(jì)師考試下午真題答案和解析

        >>>進(jìn)入估分:2017上半年軟考分?jǐn)?shù)早知道,在線估分+真題解析

    溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

    軟考備考資料免費(fèi)領(lǐng)取

    去領(lǐng)取

    !
    咨詢在線老師!