Riprova... a me dice che 10 non è primo.

Se vuoi ti spiego il meccanismo:
trovato riceve il valore del resto della divisione fra il numero passato come argomento e t (t indica il valore che sono arrivato a testare). Se è 0 il numero è divisibile per t, quindi esce dal while e si accorge che non è primo, altrimenti continua fino alla radice del numero.

Non ha senso testare per valori superiori alla radice del numero, perchè se esiste un valore che lo divide, che sia maggiore della radice, allora ne esiste un'altro minore:

a / b = c + q quindi se q = 0 a = b * c, può capitare che c sia prprio uguale a b (in questo caso a = b ^ 2 e b è la sua radice), ma se sono differenti uno dei due è minore della radice, e lo divide!


Ciao.