Cod sursa(job #2706874)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 15 februarie 2021 22:18:19
Problema Suma si numarul divizorilor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <cmath>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
const int NMAX=1005;
long long v[NMAX];
int nrd(int n)
{
        int cntDiv = 0;
        for(int d = 1; d <= n/d; d++)
            if(n%d == 0)
            {
                cntDiv++;
                if(d != n/d)
                    cntDiv++;
            }
            return cntDiv;
}
int sdiv(int n)
{
        int i,s=0,j;
        for (i=1;i*i<=n;i++)
            if (n%i==0)
                {
                    s=s+i;
                    j=n/i;
                    if(j!=i)
                    s=s+j;
                }
                return s;
}

int main()
{
    long long n,i;
    fin>>n;
    for(i=1;i<=n;i++)
    {
    fin>>v[i];
    fout <<nrd(v[i])<<" "<<sdiv(v[i]);
    fout<<"\n";
    }
    return 0;
}