Sprawdzenie czy dziesiętny zapis liczby składa się z czwórek i siódemek

0

czesc, mam problem z napisaniem programu. musze sprawdzic czy zapis dziesietny pewnej liczby sklada sie jedynie z czworek i siodemek. jesli tak mam wypisac "tak", a jesli nie to "nie" :D jak zrobic to za pomoca petli while? jak sprawdzic czy dana liczba sklada sie tylko z tych czworek i siodemek.
liczba na wejsciu (0 ≤ x ≤ 10^18).
pozdrawiam!

4

Musisz sprawdzić czy każdy ze znaków reprezentacji dziesiętnej tej liczby (wczytanej jako string) to 4 lub 7. Przydadzą się:

  1. pętla (for/while)
  2. if
  3. == (porównanie), || (logiczny or)

Ewentualnie możesz się pobawić algorytmami, np. std::all_of, ale to może dla początkującego być przerażające.

0

czy to cos w stylu while (string 4 lub 7)....? kompletnie nie wiem jako to zapisac XD

0

Według mnie najprostszym sposobem będzie użycie pętli while oraz modulo 10 tej liczby. Z każdym odtworzeniem pętli sprawdzasz czy %10 tej liczby jest równe 7 i 4.

Edit: wynik modulo zapisać do osobnej zmiennej, a sama liczę trzeba dzielić całkowicieliczbowo przez 10.

1 użytkowników online, w tym zalogowanych: 0, gości: 1