Cod sursa(job #580652)

Utilizator informatician29kill03 informatician29 Data 13 aprilie 2011 12:34:32
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream> 
using namespace std; 
ifstream f("ssnd.in"); 
ofstream g("ssnd.out"); 
long long t,n,nrdiv,sumadiv,j,fm,putere; int i=2;
long long powA(long long baza, long long exponent)
{int k;
putere=1; 
for(k=1;k<=exponent+1;k++)
	putere*=baza;
return putere; 
}
int main() 
{  
f>>t;  
for(j=1;j<=t;j++) 
{ 
f>>n; nrdiv=sumadiv=1; fm=0; 
do{
while(n%i==0)     
{fm++;      
n/=i;}     
nrdiv*=(fm+1);       
sumadiv*=(powA(i,fm)-1)/(i-1);
i++;     
}while(n!=1); 
g<<nrdiv<<" "<<sumadiv<<'\n';}
 }