Cod sursa(job #3120580)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 7 aprilie 2023 16:48:25
Problema Suma si numarul divizorilor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("ssnd.in");
ofstream G("ssnd.out");
long long n,a,b,d,c[78500],t,m=1e6,i,j,k,l=9973;
bool p[1000001];
int main()
{
    for(i=3;i*i<=m;i+=2)
        if(!p[i])
            for(j=i*i;j<=m;p[j]=1,j+=2*i);
    for(c[k++]=2,i=3;i<=m;i+=2)
        if(!p[i])
            c[k++]=i;
    for(F>>t;t--;n>1?a<<=1,b*=(n+1):0,G<<a<<' '<<b%l<<'\n')
        for(F>>n,a=b=1,i=0;c[i]*c[i]<=n;d?a*=(d+1),b*=((ceil(pow(c[i],d+1))-1)/(c[i]-1)):0,++i)
            for(d=0;n%c[i]==0;++d,n/=c[i]);
    return 0;
}