1e18 + 1 == 1e18 in C++

Revision en2, by XiangXunyi, 2026-02-26 10:43:28

As the title, 1e18 + 1 == 1e18 in C++.

This is because the double type stores the first 53 binary bits of a number. So the number 1 will be ignored.

And most of submissions which fst on test 13 of problem C of edu round 187 are for this reason.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en4 English XiangXunyi 2026-03-07 15:50:14 38 Add a suggestion that using `1'000'000'000'000'000'001LL`
en3 English XiangXunyi 2026-02-27 16:24:33 193
en2 English XiangXunyi 2026-02-26 10:43:28 7 Tiny change: 'irst 53 bits of a' -> 'irst 53 binary bits of a'
en1 English XiangXunyi 2026-02-26 10:41:21 268 Initial revision (published)