import server mod = server.problems.load_language('python', 'sl') name = 'Delitelji' slug = 'Delitelji' description = '''\
Napiši program, ki izpiše vse delitelje števila, ki ga vnese uporabnik..'''
input_clause = ['''\
Uporabi funkcijo input
.
''']
range_function = ['''\
Uporabi funkcijo range(a,b)
''',
'''\
Funkcija range(a, b)
pripravi seznam števil od a do števila b-1. Poskusi!
Z zanko for
se sprehodi čez elemente seznama oz. v našem primeru
čez vsa števila od a
do b-1
.
Operator % vrne ostanek pri deljenju.
''', '''\>>> 5%3 2 >>> 17%8 1''', '''\
Če je ostanek pri deljenju števila a
s številom b
enak 0, potem b
deli število a
.
if a%b == 0: # b je delitelj števila a'''] plan = ['''\
Preglej vsa števila od 1
do n-1
in izpiši tista, ki delijo n
.
Plan:
Uporabnik vnese število n Za vsak element v seznamu [1, 2, ..., n-1] Preveri, če to število deli n Izpiši število''', range_function, divisor] hint = { 'input_clause': input_clause, 'range_function': range_function, 'printing': ['''\
Izpiši rezultat.
'''], 'divisor': divisor, 'last_number': ['''\Število deli samega sebe!
'''], 'final_hint': ['''\Naloga rešena!
Dejansko ne potrebujemo pregledati vseh števil med 1
in n-1
,
dovolj bo če gremo do kvadratnega korena števila n
:
from math import * n = int(input('Vnesi število: ')) for i in range(1, int(sqrt(n)+1)): if n % i == 0: print(i, n/i)'''], 'zero_division': [mod.general_msg['error_head'], mod.general_msg['general_exception'], '''\
Deljenje z nič ni dovoljeno!
''', '''\Računanje ostanka z operatorjem % je tudi deljenje.'''] }