[ACM ] 10110的問題?

看板C_and_CPP作者 (唷個咻)時間14年前 (2010/01/03 00:30), 編輯推噓2(206)
留言8則, 5人參與, 最新討論串1/1
題號:10110 遇到的問題: 這題我是把那個最大的數開方 以int 跟 double 各開一次(sqrt) 若兩個相等即是完全平方數 也就是答案0.0 可是做到大概十位數(比2^32-1小) 大概在46000^2的時候會出現問題@@ 請問各位有甚麼更好能判定整數的解法嗎? 我是用C寫的,剛學還不太熟>< 補充說明:題目在這http://tinyurl.com/ye4d9tk -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.248 ※ 編輯: Yumichi 來自: 140.112.240.248 (01/03 00:31) ※ 編輯: Yumichi 來自: 140.112.240.248 (01/03 00:48) ※ 編輯: Yumichi 來自: 140.112.240.248 (01/03 00:49)

01/03 00:49, , 1F

01/03 00:49, , 2F
The user was too lazy to give a description XDD
01/03 00:49, 2F

01/03 01:05, , 3F
謝謝了^^
01/03 01:05, 3F

01/03 03:50, , 4F
我是建表記錄1~65535的平方,然後用binary search找
01/03 03:50, 4F

01/03 03:52, , 5F
可以避開sqrt的誤差問題,但是binary search對新手來
01/03 03:52, 5F

01/03 03:52, , 6F
說不算好寫...
01/03 03:52, 6F

01/03 11:26, , 7F
2^32-1已經超過int上限 用long long int就可以了
01/03 11:26, 7F

01/03 11:27, , 8F
判斷一個數是不是平方數的簡單方法:sqrt之後然後再乘回去。
01/03 11:27, 8F
文章代碼(AID): #1BFtIibO (C_and_CPP)