Cod sursa(job #407025)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 1 martie 2010 23:25:23
Problema Suma si numarul divizorilor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <algorithm>
using namespace std;

#define INF 1LL<<50
#define MOD 9973

typedef long long int int_64;

int T;
int_64 N;
int_64 nr_div, sum_div;

void solve() {

    int i;
    int_64 div_1, div_2;

    scanf( "%lld", &N );

    nr_div = 0;
    sum_div = 0;

    for( i = 1; (int_64)i * i <= N; ++i )
        if( N % i == 0 ) {

            div_1 = i;
            div_2 = N/i;

            if( div_1 != div_2 ) {

                nr_div += 2;
                sum_div += div_1 + div_2;
            }
            else {

                ++nr_div;
                sum_div += div_1;
            }

//            if( sum_div > INF )
//                sum_div = sum_div % MOD;
        }
    sum_div = sum_div % MOD;

    printf( "%lld %lld\n", nr_div, sum_div );
}

int main() {

    freopen( "ssnd.in", "r", stdin );
    freopen( "ssnd.out", "w", stdout );

    scanf( "%d", &T );

    while( T-- )
        solve();

    return 0;
}