Cod sursa(job #2493464)

Utilizator SurduTonySurdu Tony SurduTony Data 16 noiembrie 2019 12:45:28
Problema Suma si numarul divizorilor Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;

const int MOD = 9973;

void sumaDiv(int x, int &s, int &nr) {
    s=1+x; nr=2;

    for(int i=2; i<=x/2; i++)
        if(x%i==0) {
            if(x/i>=i) {
                s = (s+i)%MOD;
                nr++;

                if(x/i==x%i) break;

                s = (s+x/i)%MOD;
                nr++;
            }
            else break;
        }
}

int main()
{
    ifstream fin("ssnd.in");
    ofstream fout("ssnd.out");
    int t, n;

    fin >> t;

    int s, nr;
    for(int i=1; i<=t; i++) {
        fin >> n;
        sumaDiv(n, s, nr);
        fout << nr << ' ' << s << '\n';
    }

    fin.close();
    fout.close();
    return 0;
}