#9506: 解題心得


z3x56 (二信阿資)

學校 : 基隆市私立二信高級中學
編號 : 41061
來源 : [61.231.128.29]
最後登入時間 :
2020-08-22 18:35:15
d873. 00465 - Overflow -- UVa465 | From: [49.159.135.164] | 發表日期 : 2014-12-10 00:48

因為只要 > 2147483647 就算超出

所以我沒做大數運算,而是輸入2字串 a, b 判斷 (長度 >10) 或 (長度10且第1位>2)  則 true

false 則將 a,b 轉成 unsigned 或 long long 的整數 

用 long long c = a*b 或 a+b  {若a,b皆<=2147483647 } ,再判斷  c 是否 > 2147483647

但小心:若 a=0 或 b=0 且是 * ,則 c=0 

 

 
#15446: Re:解題心得


wish.rirf@gmail.com (C++ 與我)

學校 : 臺北市私立薇閣高級中學
編號 : 82132
來源 : [36.224.41.96]
最後登入時間 :
2021-08-07 19:29:31
d873. 00465 - Overflow -- UVa465 | From: [223.136.30.195] | 發表日期 : 2018-10-06 11:36

因為只要 > 2147483647 就算超出

所以我沒做大數運算,而是輸入2字串 a, b 判斷 (長度 >10) 或 (長度10且第1位>2)  則 true

false 則將 a,b 轉成 unsigned 或 long long 的整數 

用 long long c = a*b 或 a+b  {若a,b皆<=2147483647 } ,再判斷  c 是否 > 2147483647

但小心:若 a=0 或 b=0 且是 * ,則 c=0 

 


你的方法很好,除了 (長度10且第1位>2)  則 true這邊不OK ,2000000000會被你誤判

 
#15447: Re:解題心得


wish.rirf@gmail.com (C++ 與我)

學校 : 臺北市私立薇閣高級中學
編號 : 82132
來源 : [36.224.41.96]
最後登入時間 :
2021-08-07 19:29:31
d873. 00465 - Overflow -- UVa465 | From: [223.136.30.195] | 發表日期 : 2018-10-06 12:04

因為只要 > 2147483647 就算超出

所以我沒做大數運算,而是輸入2字串 a, b 判斷 (長度 >10) 或 (長度10且第1位>2)  則 true

false 則將 a,b 轉成 unsigned 或 long long 的整數 

用 long long c = a*b 或 a+b  {若a,b皆<=2147483647 } ,再判斷  c 是否 > 2147483647

但小心:若 a=0 或 b=0 且是 * ,則 c=0 

 


你的方法很好,除了 (長度10且第1位>2)  則 true這邊不OK ,2000000000會被你誤判

2500000000

 
#15488: Re:解題心得


OwO310659 (OwO)

學校 : 新北市立板橋高級中學
編號 : 58647
來源 : [118.150.111.60]
最後登入時間 :
2024-04-25 01:16:40
d873. 00465 - Overflow -- UVa465 | From: [106.105.27.148] | 發表日期 : 2018-10-08 02:24

所以他在後面有將 a,b 轉成 long long 去判斷是否皆 <= 2147483647 
若 a,b <= 2147483647 才進行運算這樣並沒有問題唷~

 
ZeroJudge Forum