Re: [閒談] 中華電信資訊系統開發及維運 問答題

看板Gov_owned (國營事業)作者 (機器人小廢物)時間3年前 (2020/08/09 18:11), 3年前編輯推噓4(407)
留言11則, 4人參與, 3年前最新討論串2/2 (看更多)
※ 引述《THLu (生活需要更精彩!)》之銘言: : 只記得大概題目內容,有錯再請留言更正~ : 謝謝! : 資訊系統開發及維運 : 問答題: : 第一題 : (一)請說明人工智慧、機器學習、深度學習之間的關係。(6分) : (二)請說明區塊鏈技術的不可竄改性原理。(6分) : (三)請說明何謂邊緣運算。 : 第二題 請參考以下F函數範例 : int F(int number){ : if (number == 2) return 2; //number是偶數 : … … … : if (number == 1) return 1; //number是奇數 : … … … : if (number == 0) return 0; //number無法判別 : … … … : } : (一)請使用數學運算子%完成判斷F函數為奇數或偶數的程式 : (注意程式需包含當number為負數或無法計算時的情況) : (二)請使用邏輯運算子&完成判斷F函數為奇數或偶數的程式 : (注意程式需包含當number為負數或無法計算時的情況) : (三)當-1為2次方時結果為正數,當-1為3次方時結果為負數, : 請使用乘號運算子*和for迴圈完成-1為N次方時的正數或負數, : 判別F函數為奇數或偶數的程式 : (注意程式需包含當number為負數或無法計算時的情況) 第三題 原本是 int F(int number) { if(number == 0) return 2; if(number < 0) { number = (-1) * number;// 這行有錯 } int i, k; k = 1; for(i = 0; i < number; i++) { k = k * (-1); } if(k == (-1)) return 1; if(k == 1) return 2; return 0; } 但是會有 overflow 的問題 -(-(2^31))= 2^31, int 最大是 2^31 - 1; 難過Q Q 可以改成 if(number > 0) number = number * (-1); for(i = 0;i > number; i--) k = k * (-1); 才不會有錯 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.75.36 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Gov_owned/M.1596967861.A.A44.html

08/09 18:12, 3年前 , 1F
我連大一都不如QQ
08/09 18:12, 1F

08/09 18:59, 3年前 , 2F
寫leetcode常常卡在overflow,但這種手寫code加上時間壓
08/09 18:59, 2F

08/09 18:59, 3年前 , 3F
力真的考慮不到qq
08/09 18:59, 3F

08/09 19:00, 3年前 , 4F
好奇這種有沒有部分給分
08/09 19:00, 4F

08/09 23:02, 3年前 , 5F
我個人最後一題是用for(i=0;I<number;i++)number*=-1;
08/09 23:02, 5F

08/09 23:03, 3年前 , 6F
再用if去判斷number是否大於0
08/09 23:03, 6F

08/09 23:04, 3年前 , 7F
啊 沒事 我搞錯了 好像是一樣的方法...
08/09 23:04, 7F

08/10 00:03, 3年前 , 8F
為什麼會有-2的32次方? 我不太明白。
08/10 00:03, 8F

08/10 07:15, 3年前 , 9F
int 最小值就是-(2^32)
08/10 07:15, 9F

08/10 08:14, 3年前 , 10F
啊啊打錯
08/10 08:14, 10F
※ 編輯: chses910372 (118.168.12.29 臺灣), 08/10/2020 08:18:33

08/10 09:21, 3年前 , 11F
不用考慮溢位吧,全轉到非負整數討論就好。
08/10 09:21, 11F
文章代碼(AID): #1VBykrf4 (Gov_owned)
文章代碼(AID): #1VBykrf4 (Gov_owned)