Cod sursa(job #2354574)

Utilizator robertbirsanRobert Birsan robertbirsan Data 25 februarie 2019 13:13:22
Problema Suma si numarul divizorilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#include <bits/stdc++.h>
#define N 1005
using namespace std;

ifstream f("ssnd.in");
ofstream g("ssnd.out");

long long n,i,c[1005],s,nr,v[1005],prim[1005],np,k,d,x;

void ciur()
{
    int i,j;
    for(i=2;i*i<N;i++)
        if(c[i]==0)
        for(j=i*i;j<N;j+=i)
        c[j]=1;
    for(i=2;i<N;i++)
        if(!c[i])
    {
        np++;
        prim[np]=i;
    }
}

long long nrdiv(long long n)
{
    long long i,k,nr=1;
    for(i=1;prim[i]*prim[i]<=n;i++)
    {
        k=0;
        while(n%prim[i]==0)
        {
            k++;
            n/=prim[i];
        }
        nr*=(k+1);
    }
    if(n!=1)
        nr*=2;
    return nr;
}

long long sumdiv(long long n)
{

        {long long div=1;
        for (int i=1;i<=k+1;i++)
                div=div*d;
            s=s*((div-1)/(d-1));
        }
    if (x>1)
    {
        nr=nr*2;
        s=s*(x*x-1)/(x-1);
    }
    return s;
}
int main()
{
    ciur();
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];

    for(i=1;v[i];i++)
        g<<nrdiv(v[i])<<" "<<sumdiv(v[i])%9973<<endl;
    return 0;
}