亚洲AV乱码一区二区三区女同,欧洲在线免费高清在线a,中文字幕丝袜四区,老少配老妇熟女中文高清

<s id="38axe"><nobr id="38axe"></nobr></s><abbr id="38axe"><u id="38axe"></u></abbr>

<sup id="38axe"></sup>
    <acronym id="38axe"></acronym>
  • <s id="38axe"><abbr id="38axe"><ins id="38axe"></ins></abbr></s>
    
    
        <s id="38axe"></s>

        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枚硬幣,其中有一枚是假幣,己知假幣的重量較輕?,F(xiàn)只有一個天平,要求用盡量少的比較次數(shù)找出這枚假幣。

              【分析問題】

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

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

              (2)當(dāng)n為奇數(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ù)組中的第一個和最后一個下標(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的時間復(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)取

        !
        咨詢在線老師!