Write an algorithm of alarm clock with snooze functionality of 15 minutes.
Answers
Obviously you do wake up and you are already in such a good shape that you manage to hit the snooze button (and not the finally-off button). So you might also realize that there is not yet an absolute need to get up immediately but you can post-pone this to some minutes later without much of a risk.
So that exactly is where your issue is. You need to pull yourself together to get up. Being sleepy is extremely counter-productive here.
What worked for me is to introduce an urgent need to get up right now, not a minute or two later. This can be achieved with two easy hacks:
Set the alarm to the latest possible time when you really really need to get up to just about make it to get to work in time. You know you will be late if you had pressed on snooze only once.
Do not use an alarm with a snooze button. You will then know that you will oversleep if you turn it off. This alone will help you a lot to actually get up, and not to go back to bed again.
Of course, if we are lucky, we can try to slowly re-adjust our sleep/wake cycle by getting to bed earlier. This can not be done with one or two tries but it needs several days if not weeks. It then may help to better wake up in the morning but it is at the cost of losing all our evenings (which was the main reason it did not work out for me).
.
.
.
.
.
.
.
{Please do not report if the answer is wrong, we have tried our best to give you the correct answer}
Explanation:
use 12 alarm clocks each one ringing 5 seconds after the previous one and each one being further away than the last