Cod sursa(job #3233230)

Utilizator MirceaDonciuLicentaLicenta Mircea Donciu MirceaDonciuLicenta Data 2 iunie 2024 20:17:39
Problema Suma si numarul divizorilor Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>

using namespace std;

void calculateDivisors(long long n, int& count, long long& sum) {
    count = 0;
    sum = 0;
    const long long mod = 9973;

    for (long long i = 1; i * i <= n; ++i) {
        if (n % i == 0) {
            count++;
            sum = (sum + i) % mod;
            if (i != n / i) {
                count++;
                sum = (sum + n / i) % mod;
            }
        }
    }
}

int main() {
    ifstream infile("ssnd.in");
    ofstream outfile("ssnd.out");

    if (!infile || !outfile) {
        cerr << "Error opening file" << endl;
        return 1;
    }

    int t;
    infile >> t;

    while (t--) {
        long long n;
        infile >> n;
        int count;
        long long sum;
        calculateDivisors(n, count, sum);
        outfile << count << " " << sum << endl;
    }

    infile.close();
    outfile.close();

    return 0;
}