Cod sursa(job #1680454)

Utilizator mimisorMimi Birau mimisor Data 8 aprilie 2016 19:39:06
Problema Suma si numarul divizorilor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
long long n, t, s, d,i, rad, card;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int main()
{   fin>>t;
    for (i=1;i<=t; i++)
    {
        fin>>n;
        s=(n+1)%9973;
        card=2;
        rad=sqrt(n);
        if (n%2==0)
        for (d=2; d<=rad; d++)
        {
            if (n%d==0) {card=card+2;
                         s=(s+d+n/d)%9973;
        }}
        else
        for(d=3; d<=rad; d=d+2)

            if (n%d==0) {card=card+2;
                         s=(s+d+n/d)%9973;
                        }

     if (sqrt(n)==(int) sqrt(n))
                {s=s-rad;
                 card--;
                }
    fout<<card<<" "<<s<<"\n";
        }
        fout.close();
    return 0;
}