Mit rontottam el? (Python feladat)
Hány olyan 7 jegyű telefonszám van, ami 12-re végződik, és osztható 8-cal?
Ez lenne a feladat. Eddig jutottam vele, de nem működik.
szam = 0
y = 0
while szam < 9:
szam += 1
if int(str(szam)+ str(12))% 8 == 0:
y = y + 1
print(szam)
"5. A 8-al osztható, hét számjegyű, 12-re végződő számok száma: 9 * 10 * 10 * 10 * n"
Hopp, ezt elírtam, mert "elvileg" 0-val is kezdődhet telefonszám - szóval helyesen: 10 * 10 * 10 * 10 * n szám van.
És miért érdemes csak a 3 számjegyű, 12-re végződő számokkal foglalkozni?
Mert összesen - a 12-t is beleszámolva - 10 van belőlük. Ezekből 5 (a páratlan számmal kezdődőek) oszhatóak 8-al. A több 4 számjegy bármi lehet 0-tól 9-ig (zárt intervallum).
10 szám ellenörzése pillanatok alatt megvan:
$ time python 12revegzodoharomszamjegy.py
real 0m0.020s
user 0m0.016s
sys 0m0.000s
Az Ozmium42 által emlegetett 10000000 db 7 számjegyű telefonszám ellenőrzése meg időigényes:
$ time python hetszamjegy.py
real 0m3.415s
user 0m3.340s
sys 0m0.072s
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!