Cod sursa(job #2093271)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 23 decembrie 2017 12:28:44
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
int max2;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bool fr[1000000];

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;
     sum=x+1;
     if(x==1)
     {
         fout<<"1 1"<<"\n";
         continue;
     }
        for( j=1;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(){
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=3*i;j<=1000000;j=j+2*i)
       fr[j]=1;
citire();
return 0;
}