Jak podzielić liczbe na cyfry?

Jak podzielić liczbe na cyfry?
SQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
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ę.

  • Rejestracja: dni
  • Ostatnio: dni
0

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

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

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

Kopiuj
String txt=liczba+"";
  • Rejestracja: dni
  • Ostatnio: dni
0

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

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 91
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

  • Rejestracja: dni
  • Ostatnio: dni
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ć ??

Sopelek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 467
0

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

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Sumuj w tej pętli.

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

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.