Jak podzielić liczbe na cyfry?

0

Mam za zadanie:

  1. Schematy blokowe c.d. - algorytmy iteracyjne.

2a. Oblicz sumę cyfr liczby naturalnej K.
2b. Ile cyfr znaczących ma liczba naturalna K ?
2c. Jaka jest najstarsza (pierwsza z lewej) cyfra liczby naturalnej K ?
2d. Czy w zapisie liczby naturalnej K występuje cyfra C ?
2e. Jaka jest największa cyfra liczby naturalnej K ?
2f. Jaka cyfra występuje najczęściej w zapisie liczby naturalnej K ?

Jak się za to wziąć? Da się jakoś podzielić "inta" na tablicę cyfr? Jest coś takiego jak atoi z c++ w javie?
Nie chce rozwiązań zadań tylko sposób jak rozdzielić liczbę.

0

Kolejne cyfry (od końca) dostaniesz obliczając resztę z dzielenia liczby przez 10.

while(liczba>0) // drobna zmiana jest wymagana gdy liczba jest ujemna
{
    kolejna_cyfra=liczba % 10;
    liczba/=10;
}

Możesz też zamienić liczbę na String:

String txt=liczba+"";
0

dziel ją przez %(modulo) dziesięć i sprawdzaj wynik!

0

Możesz liczbę zamienić na Stringa, potem na tablicę znaków i masz każdą cyfrę jako chara w tablicy. Wybierz podejscie jakie Ci pasuje najlepiej

0

a mam pytanie do podpunktu 2.1 (oblicz sumę cyfr...)
skoro wyciągnąłem cyfry z liczby k tak jak to bylo napisane wyżej (za pomocą %) w pętli while to jak moge wyciągnąć te cyfry na zewnątrz pętli, aby je zsumować ??

0

zmienną, która je przechowuje zadeklaruj przed blokiem pętli

0

Sumuj w tej pętli.

int suma = 0;
while(liczba>0) // drobna zmiana jest wymagana gdy liczba jest ujemna
{
    kolejna_cyfra=liczba % 10;
    suma+=kolejna_cyfra;
    liczba/=10;
}

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