Cod sursa(job #3140742)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 9 iulie 2023 12:18:31
Problema Suma si numarul divizorilor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("ssnd.in");
ofstream G("ssnd.out");
long long n=1e6,i,j,a[78500],k,l,c,d,t;
bitset<1000001> b;
int main()
{
    for(i=3;i*i<=n;i+=2)
        if(!b[i])
            for(j=i*i;j<=n;b[j]=1,j+=2*i);
    for(a[k++]=2,i=3;i<=n;i+=2)
        if(!b[i])
            a[k++]=i;
    for(F>>t;t--;n>1?c*=2,d*=(n+1):0,G<<c<<' '<<d<<'\n')
        for(F>>n,c=d=1,i=0;i<k&&a[i]*a[i]<=n&&n>1;j>1?c*=j,d*=(l-1)/(a[i]-1):0,++i)
            for(j=1,l=a[i];n%a[i]==0;++j,n/=a[i],l*=a[i]);
    return 0;
}