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

看板 Gov_owned
作者 chses910372 (機器人小廢物)
時間 2020-08-09 18:10:57
留言 11則留言 (4推 0噓 7→)

: 只記得大概題目內容,有錯再請留言更正~ : 謝謝! : 資訊系統開發及維運 : 問答題: : 第一題 : (一)請說明人工智慧、機器學習、深度學習之間的關係。(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

chses910372: 我連大一都不如QQ08/09 18:12

lin2492: 寫leetcode常常卡在overflow,但這種手寫code加上時間壓08/09 18:59

lin2492: 力真的考慮不到qq08/09 18:59

lin2492: 好奇這種有沒有部分給分08/09 19:00

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

amen1387: 再用if去判斷number是否大於0 08/09 23:03

amen1387: 啊 沒事 我搞錯了 好像是一樣的方法...08/09 23:04

GoGoJoe: 為什麼會有-2的32次方? 我不太明白。08/10 00:03

chses910372: int 最小值就是-(2^32)08/10 07:15

chses910372: 啊啊打錯08/10 08:14

GoGoJoe: 不用考慮溢位吧,全轉到非負整數討論就好。 08/10 09:21

您可能感興趣