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

作者: chses910372 (loveseeker)   2020-08-09 18:10:57
※ 引述《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
作者: chses910372 (loveseeker)   2020-08-09 18:12:00
我連大一都不如QQ
作者: lin2492 (櫻京塚丈)   2020-08-09 18:59:00
寫leetcode常常卡在overflow,但這種手寫code加上時間壓力真的考慮不到qq好奇這種有沒有部分給分
作者: amen1387 (MyBad)   2020-08-09 23:02:00
我個人最後一題是用for(i=0;I<number;i++)number*=-1;再用if去判斷number是否大於0啊 沒事 我搞錯了 好像是一樣的方法...
作者: GoGoJoe (gogojoe)   2020-08-10 00:03:00
為什麼會有-2的32次方? 我不太明白。
作者: chses910372 (loveseeker)   2020-08-10 07:15:00
int 最小值就是-(2^32)啊啊打錯
作者: GoGoJoe (gogojoe)   2020-08-10 09:21:00
不用考慮溢位吧,全轉到非負整數討論就好。

Links booklink

Contact Us: admin [ a t ] ucptt.com