cyfry w liczbie mniejsze od 8

0

Funkcja ma zwrócić 1 jeżeli cyfry w podanej przez użytkownika liczbie są mniejsze niż 8. Co jest źle w warunkach mojej funkcji?

if(liczba>=10){
            liczba=liczba/10;
            if(liczba<8){
            return 1;
            }
        }
        if(liczba == 8 || liczba ==9){
            return 0;
        }
0

Co to znaczy "cyfry w podanej przez użytkownika liczbie są mniejsze niż 8"? Każda cyfra ma być mniejsza niż 8? Wystarczy jedna? Ich suma ma być mniejsza niż 8?

0

Jeżeli w liczbie występują tylko cyfry mniejsze niż 8 to funkcja ma zwrócić 1, a jeżeli chociaż jedna cyfra jest większa od 8 lub równa 8 to zwraca 0.

0

Nie kończ pętli po napotkaniu pierwszej liczby spełniającej warunek, tylko sprawdź wszystkie.

0

Właśnie próbuję to zrobić bez użycia pętli, bo tak jest w poleceniu, czyli rekurencyjnie, a dopiero zaczynam ten dział więc nie do końca wiem jak poprawnie to skonstruować

0

I gdzie masz tu rekursję w takim razie?

0

To łap w pętli i przerób na wywołania rekurencyjne.

while(liczba>0)
{
  if(liczba%10 >= 8) return 0;
  liczba/=10;
}
return 1;
0

jednak niee, trzeba tylko bez pętli

0

Bez pętli i bez rekurencji?
To dla jakiego zakresu liczb?

0

Użytkownik podaje liczbę typu unsigned long long, jeżeli w liczbie nie wystąpi cyfra większa lub równa 8 to funkcja powinna zwrócić 0, próbuje nadal, ale bez rezultatu

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