Cod sursa(job #2691775)

Utilizator SerbaP123Popescu Serban SerbaP123 Data 29 decembrie 2020 22:44:47
Problema Suma si numarul divizorilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
#define ll long long
#define nmax 1000000
using namespace std;

ifstream cin("ssnd.in");
ofstream cout("ssnd.out");

ll nrdiv[nmax + 1], sumdiv[nmax + 1];

inline void solve(){
    ll n;
    cin >> n;
    for(int i = 1; i <= nmax; ++i){
        nrdiv[i] = 0;
    }
    for(int i = 1; i <= nmax; ++i){
        for(int j = 1; i * j <= nmax; ++j){
            nrdiv[i * j]++;
        }
    }
    for(int i = 1; i <= nmax; ++i){
        sumdiv[i] = 0;
    }
    for(int i = 1; i <= nmax; ++i){
        for(int j = 1; i * j <= nmax; ++j){
            sumdiv[i * j] += i;
        }
    }
    cout << nrdiv[n] << " " << sumdiv[n] << "\n";
}

int main(){
    int n;
    cin >> n;
    for(int i = 1; i <= n; ++i)
        solve();
    return 0;
}