Cod sursa(job #1232237)

Utilizator danstefanDamian Dan Stefan danstefan Data 22 septembrie 2014 15:51:06
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
#include<cstdio>
using namespace std;
long long p1=1,p2=1,n,i,fa,ca,a,pu,e;
bool ok;
int main(){
    freopen("ssnd.in","r",stdin);
    ofstream g ("ssnd.out");
    scanf("%lld",&n);
    for(i=1;i<=n;i++){
        scanf("%lld",&a);
        fa=2;ca=a;ok=false;
        while(ca>=fa*fa&&n!=1){
                e=0;pu=1;
        while(a%fa==0){a/=fa;e++;pu=pu*fa;ok=true;}
        if((fa+1)*(fa+1)>ca&&ok==false){p1=p1*2;
        p2=p2*(a*a-1)/(a-1);}
        else
        if(e!=0){p1=p1*(e+1);
        p2=p2*(pu*fa-1)/(fa-1);}
        fa++;}
        g<<p1<<" "<<p2<<'\n';
        p1=1;p2=1;}
        return 0;}