Cod sursa(job #2093261)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 23 decembrie 2017 12:12:32
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;
int max2;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bool fr[1000000];
void ciur(){
fr[1]=1;
for(int i=4;i<=1000000;i=i+2)
    fr[i]=1;
for(int i=3;i<=1000000;i=i+2)
    if(fr[i]==0)
    for(int j=2*i;j<=1000000;j=j+i)
       fr[j]=1;
}
void citire()
{
    int n,x,j,i;
    long long nr,sum;
    fin>>n;
    for( i=1;i<=n;i++)
    {
        nr=2;
        sum=0;
        fin>>x;
        if(x==1)
        {
            fout<<"1 1\n";
            continue;
        }
    sum=x+1;
        for( j=2;j*j<x;j++)
            if(fr[j]==0&&x%j==0)
            {
            sum=sum+j+x/j;
            nr=nr+2;
            }
           if(j*j==x)
           {nr++;
            sum=sum+j;
           }
        fout<<nr<<" "<<sum<<"\n";
    }
}
int main(){
ciur();
citire();
return 0;
}