Se da n apartine numerelor naturale nenule. Verificati daca cel mai mic divizor propriu e egal cu cel mai mare divizor propriu. In pseudocod.
Răspunsuri la întrebare
Răspuns:
citeste n
m:=[sqrt(n)]
daca m*m=n atunci
p:=1
num:=2
cat timp num<[m/2] si p=1
daca m%num=0 atunci p:=0
sf_daca
num:=num+1
sf_cat timp
daca p=1
atunci
scrie "cel mai mare si cel mai mic divizor propriu egali"
scrie m
altfel
scrie "cel mai mare si cel mai mic divizor propriu nu-s egali"
sf_daca
sf_daca
Explicație:
cel mai mare şi cel mai mic divizor propriu sunt egali numai la pătratele numerelor prime: 9, 25, 49, 121, 169, ... pentru care divizorii proprii în cauză sunt 3, 5, 7, 11, 13, ...
Dacă n=16, divizorii lui proprii sunt 2, 4, 8. Cel mai mic e 2, cel mai mare e 8.
nu sunt egali..
Dacă avem n=49, unicul divizor propriu este 7, deci sunt egali cel mai mare divizor propriu cu cel mai mic divizor propriu.
p.s. Logica este expusă, dar poate am lacune la sintaxă....
altfel
scrie "cel mai mare si cel mai mic divizor propriu nu-s egali"
daca m*m=n atunci
altfel
scrie "cel mai mare si cel mai mic divizor propriu nu-s egali"