from sys import exit

def fattorizzazione():

    inserimento = input()
    if not inserimento.isdigit():
        exit("ERRORE: NON È STATO INSERITO UN INTERO!")    #controllo dell'input
    else:
        n = int(inserimento)


    vettore_n_primi = [2]
    for a in range (3, n + 1):
        k = 2

        while k <= a / 2 and a % k != 0:                # numeri primi fino a n
            k = k + 1

        if a % k != 0:
            vettore_n_primi.append(a)
    
    i = 2

    while i <= n / 2 and n % i != 0:
        i = i +1

    if (n % i == 0 or n == 1) and n != 2:
        print("Il numero inserito NON È primo")
        print()
        print('-    la fattorizzazione di n in fattori primi è: ')
        print()

        for g in vettore_n_primi:
            p = 1
            if n % (g**p) == 0:
                while n % (g**(p + 1)) == 0:                    #fattorizzazione di n
                    p += 1
                G = str(g)
                P = str(p)
                print(G + '^' + P)

        print()
        print('-    i divisori di n sono:')
        print()

        for j in range (1, n + 1):
            if n % j == 0:
                print(int(j))

    else:
        print("Il numero inserito è primo.")
        print()
        print('-    i divisori di n sono:')
        print()
        N = str(n)
        print('1\n' + N)

fattorizzazione()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: