Cod sursa(job #1982338)
| Utilizator | Data | 18 mai 2017 12:50:00 | |
|---|---|---|---|
| Problema | Suma si numarul divizorilor | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
ull n=0, nr=0;
f>>n;
for(ull i=0; i<n; ++i){
f>>nr;
if(nr==1) g<<"1 1"<<endl;
else{
ull nrDiv=2, sumDiv=1+nr;
ull i=2;
for(; i*i<=nr; i++){
if(nr%i==0) nrDiv+=2, sumDiv+=i+nr/i;}
if((i-1)*(i-1)==nr) --nrDiv, sumDiv-=i-1;
g<<nrDiv<<" "<<(sumDiv%9973)<<endl;}
}
return 0;
}
