Számok számjegyekre bontása
Adott természetes szám számjegyeit szeretnénk külön-külön feldolgozni (pl. kiírni, megszámolni, megszámolni a párosakat stb.).
Kérdés: hogy kapjuk meg a számjegyeket külön-külön?
Példa:
253 -> {2, 3, 5}
Feladat: adott egy term szám, írjuk ki a számjegyeit (tetszőleges sorrendben) külön sorokba!
| |
Megjegyzés: jobbról balra haladva kapjuk így meg a számjegyeket.
Meg lehet írni while-lal is, de akkor a nullát külön kell kezelni (másképp egy számjegy sem íródna ki):
| |
Szám számjegyeinek meghatározása eredeti sorrendben
Feladat: adott szám számjegyeit írjuk ki külön sorokba eredeti sorrendben.
Példa:
be: 253
ki: 2
5
3
Ötlet: osztjuk a számot egyre kisebb tízhatványokkal és a hányados utolsó számjegyét figyeljük:
| |
Egyszerűbben ugyanezt? Egyből felépíthetjük a szükséges tízhatványt.
| |
Feladatok
0. Adott termászetes szám esetén írjuk ki, hogy hány számjegye van!
| |
1. Adott természetes szám esetén számítsuk ki a számjegyeinek az összegét.
HF!
2. Adott természetes szám esetén számítsuk ki a páratlan számjegyeinek az átlagát.
| |
Szám építése számjegyekből
1. eredeti sorrendben:
Adott n, majd n darab számjegy. Építsük fel azt a számot, ami ezeket a számjegyeket tartalmazza eredeti sorrendben. Írjuk ki a számot és a kétszeresét is!
Pl. bemenet:
5
1 3 2 4 0
kimenet:
13240
26480
| |
2. fordított sorrendben:
Adott n, majd n darab számjegy. Építsük fel azt a számot, ami ezeket a számjegyeket tartalmazza fordított sorrendben. Írjuk ki a számot és a kétszeresét is!
Pl. bemenet:
5
3 1 2 4 1
kimenet:
14213
28426
Ötlet: egyre nagyobb tízhatványokkal szorozzuk az új számjegyeket.
3
3 + 1*10 = 13
13 + 2*100 = 213
213 + 4*1000 = 4213
4213 + 1*10000 = 14213
| |
Feladatok:
1. Szám tükrözése
Adott egy szám, állítsuk elő a tükörképét! (Vagyis azt a számot, ami ugyanazokat a szj-eket tartalmazza fordított sorrendben).
Pl.
123 -> 321
1042 -> 2401
0 -> 0
100 -> 1
Ötlet:
tukorkep <- 0
123 --szj-re bontás-> 3 kör:
szj = 3
tukorkep <- 3
szj = 2
tukorkep <- 32
szj = 1
tukorkep <- 321
| |
2. Páros számjegyek törlése egy számból
Adott egy szám, azt a számot, ami az eredeti számnak csak a páratlan számjegyeit tartalmazza (eredeti sorrendben).
Pl.
123 -> 13
245 -> 5
200 -> 0
0 -> 0
3 -> 3
135 -> 135
| |
Vagy balról lebontva a számot:
| |
3.
Adott egy természetes szám.
- Mennyi a legnagyobb számjegye?
- Melyik helyiértéken van a legnagyobb számjegye? (Írjuk ki a neki megfelelő 10-hatványt, holtverseny esetén a legkisebb hatványt.)
- Cseréljük le a legnagyobb számjegyet 1-esre és írjuk ki az új számot! (holtverseny esetén az utolsó előfordulását)
- Adjuk meg azt a számot, amiből ez a számjegy hiányzik! (tehát a legnagyobb számjegy utolsó előfordulása)
Példák
152 -> 5 10 112 12
8058 -> 8 1 8051 805
987 -> 9 100 187 87
5 -> 5 1 1 0
0 -> 0 1 1 0