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.

'''] divisor = ['''\

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.'''] }