Sleep for 1000 years Some sleep commands implement a delay of an integer number of seconds. However, 232 seconds is only about 100 years. Bug! What if you need a larger delay?

Make a program or a function which waits for 1000 years, with an error of less than ±10%. Because it's too time-consuming to test, please explain how/why your solution works! (unless it's somehow obvious)

You don't need to worry about wasting CPU power - it can be a busy-loop. Assume that nothing special happens while your program waits - no hardware errors or power failures, and  the computer's clock magically continues running (even when it's on battery power).

What the solution should do after the sleep is finished:


If it's a function: return to caller
If it's a program: terminate (with or without error) or do something observable by user (e.g. display a message or play a sound)
C (gcc), 40 36 32 29 26 24 bytes



i;f(){--i&amp;&amp;f(sleep(7));}


Try it online!

-3 thanks to @gastropner.

-1 recursive approach thanks to @AZTECCO.

4294967295*7/86400/365.25 ~ 952.69