33

Analiza varnostnih kod

Težja
Programski jeziki:
C# Java Python
Opis naloge:
Delaš v podjetju, ki izdeluje varnostne sisteme za banke. Podjetje razvija novo metodo preverjanja veljavnosti PIN kod, ki temelji na analizi lastnosti samih številk. Za vsako PIN kodo (med 4 in 8-mestno število) morajo preveriti:

- Vsoto cifer - če je vsota večja od 20, velja koda za "tvegano" (preveč očitna)
- Najmanjšo in največjo cifro - razlika ne sme biti večja od 7
- "Vizualne luknje" - cifre 0, 4, 6, 9 imajo 1 luknjo, cifra 8 ima 2 luknji, ostale nimajo luknje. Preveč lukenj (več kot 3) lahko oteži prepoznavo na starih zaslonih

Naloga: Napiši program, ki za vneseno število izračuna in prikaže:
- Vsoto vseh cifer,
- Najmanjšo in največjo cifro
- Skupno število "vizualnih lukenj"
- Ali je PIN koda sprejemljiva (vsota ≤ 20, razlika ≤ 7, luknje ≤ 3)
Primeri delovanja:
Vhodni podatki:
Vnesi PIN kodo: 48263
Pričakovan rezultat:
=== ANALIZA PIN KODE: 48263 === Vsota cifer: 23 Najmanjša cifra: 2 Največja cifra: 8 Razlika: 6 Skupno lukenj: 4 OCENA: PIN koda NESPREJEMLJIVA - Vsota cifer: 23 ✗ (preveč, dovoljeno ≤ 20) - Razlika: 6 ✓ (v redu) - Luknje: 4 ✗ (preveč, dovoljeno ≤ 3)