Opdracht
Schrijf een programma dat het grootste natuurlijke getal K vindt, waarvoor geldt dat 2 tot de macht K kleiner is dan (of gelijk aan) een ingevoerd natuurlijk getal N. (zie voorbeelden)
Als N = 30 dan –> K = 4
- want 2 tot de 4de macht is 16 (kleiner dan of gelijk aan 30)
- terwijl 2 tot de 5de macht gelijk is aan 32 (groter dan 30)
Een mogelijke aanpak
Schrijf een programma dat volgende stappen doorloopt:
- Laat de gebruiker een natuurlijk getal N invoeren. (N > 0)
- Vind het grootste natuurlijke getal K waarvoor geldt dat 2 tot de K-de macht <= N.
- Je gebruikt een while-lus, die je initialieert (begin met K = 0), met een gepaste booleaanse expressie.
- Toon de gevonden waarde K en het resultaat (2 tot de K-de macht) op het scherm.
Invoer
Eén natuurlijk getal N.
Uitvoer
Twee natuurlijke getallen:
- K –> het grootste natuurlijk getal waarvoor geldt dat (2 tot de macht K) <= N.
- De waarde (2 tot de macht K).
- Beide getallen moeten getoond worden op dezelfde regel, gescheiden door een spatie!
Voorbeeld 1
Invoer
1857
Uitvoer
10 1024
(2 tot de 10-de macht geeft 1024 –> 1024 is kleiner dan of gelijk aan 1857)
(2 tot de 11-de macht geeft 2048 –> 2048 is groter dan 1857)
Voorbeeld 2
Invoer
1
Uitvoer
0 1
(2 tot de 0-de macht geeft 1 –> 1 is kleiner dan of gelijk aan 1)
(2 tot de 1-de macht geeft 2 –> 2 is groter dan 1)