Cod sursa(job #3213741)

Utilizator zavragiudavid dragoi zavragiu Data 13 martie 2024 13:24:57
Problema Suma si numarul divizorilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("test.in");
ofstream fout("test.out");

const int MOD = 9973;

int NrDiv(long long n)
{
    int i, cnt = 0;
    for(i = 1; i * i < n; i++)
        if(n % i == 0) cnt += 2;
    if(i * i == n) cnt++;
    return cnt;
}

int Sum(long long n)
{
    int i, sum = 0;
    for(i = 1; i * i < n; i++)
        if(n % i == 0)
            sum = 1LL * (sum + i + n / i) % MOD;
    if(i * i == n)
        sum += i;
    return sum % MOD;
}

int main()
{
  int t;
  long long n;
  fin >> t;
  while(t--)
  {
      fin >> n;
      fout << NrDiv(n) << " " << Sum(n) << "\n";
  }
  return 0;
}