Cod sursa(job #1259371)
Utilizator | Data | 9 noiembrie 2014 23:02:17 | |
---|---|---|---|
Problema | Suma si numarul divizorilor | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<fstream>
using namespace std;
ifstream fin( "ssnd.in" );
ofstream fout( "ssnd.out" );
int main() {
long long t, n, i, sum, nrdiv;
fin >> t;
while( t -- ) {
fin >> n;
sum = nrdiv = 0;
for( i = 1; i * i < n; ++ i ) {
if ( n % i == 0 ) {
nrdiv += 2;
sum += i + n / i;
}
}
if ( i * i == n ) {
sum += i;
++ nrdiv;
}
fout << nrdiv << " " << sum << "\n";
}
fin.close();
fout.close();
return 0;
}