Aplikacja konsolowa do zgadywania pozycji bitów

Aplikacja konsolowa do zgadywania pozycji bitów
P6
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Mam 2 pytania w sprawie tego zadania:

Napisz program, który losuje liczbę z przedziału od 1000 do 30000. Stwórz nieskończoną pętlę, która będzie wymagała podania od gracza wszystkich pozycji bitów, które mają stan wysoki w wylosowanej liczbie.
Jeśli odgadniemy prawidłowo, to liczba wylosowana powinna zmniejszyć się o potęgę dwójki (pozycji konkretnego bitu).
Jeśli nie zgadniemy bitu, to doliczony powinien zostać punkt karny (sama liczba się w tym przypadku nie zmieni).
Pętla/zadanie kończy się, kiedy wylosowana liczba się zredukuje do zera (odgadniemy wszystkie bity ustawione na 1).
Na końcu drukujemy na ekranie liczbę punktów karnych (pomyłek). Przykład (zakładamy, że zawsze podawaliśmy poprawne wartości)

// Komentarze są tylko dla ułatwienia zrozumienia zadania
Wylosowano: 1533 // 0101 1111 1101
Zgadujemy bit: 5
// ( 1533 – 32 ), bo 32 = 25 Nowa wartość: 1501 // 0101 1101 1101
Zgadujemy bit: 7
// ( 1501 – 128 ), bo 128 = 27
Nowa wartość: 1373
... dalej już chyba wiadomo?

pozycje bitów liczymy od prawej czy od lewej i czy zaczynamy liczyć od 0 czy od 1?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Doprawdy przecież w pierwszym przykładzie zniknął bit nr 5 nie jesteś w stanie wydedukować odpowiedzi na swoje pytanie?

Kopiuj
0101 1111 1101 // było przed usunięciem bitu 5
0101 1101 1101 // stało po usunięciu bitu 5
0123 4567 89** // numeracja od prawej od 0
1234 5678 9*** // numeracja od prawej od 1
***9 8765 4321 // numeracja od lewej od 1
**98 7654 3210 // numeracja od lewej od 0

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.