Divizibilitate -verificare nr perfect

Un număr este perfect dacă suma divizorilor săi (mai puțin el însuși) este egală cu numărul respectiv.

#include <iostream>

using namespace std;

int main ()
{
    int n,i,S;
    cout<<"n=";cin>>n;
    S=0;
    for (i=1;i<=n/2;i++)
        if (n%i==0) S=S+i;
    if (S==n) cout<<"numărul este perfect";
    else cout<<"numărul nu este perfect";
    return 0;
}

Divizibilitate – Verificare număr prim

#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
    int n,i,ok;
    cout<<"n=";cin>>n;
    ok=1;
    for (i=2;i<=sqrt(n) && ok==1;i++)
        if(n%i==0) ok=0;
    if (ok==1) cout<<"numărul este prim";
    else cout<<"numărul nu este prim";
    return 0;
}