Cod sursa(job #2042590)
Utilizator | Data | 18 octombrie 2017 20:36:06 | |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
void nrDiv(int x)
{
int nr = 2, lastI = 0, suma = 0;
for(int i = 2; i * i <= x; i ++)
if(x % i == 0){
nr = nr + 2;
suma = suma + x/i + i;
lastI = i;
}
if( sqrt(x) * sqrt(x) == x ){
nr --;
suma -= lastI;
}
g << nr << ' ' << suma + x + 1 <<'\n';
}
int main()
{
int t, x;
f >> t;
for(int i = 0; i < t; i ++){
f >> x;
nrDiv(x);
}
return 0;
}