Cod sursa(job #2227719)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 1 august 2018 16:39:29
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.45 kb
#include <bits/stdc++.h>
using namespace std;
char s[51];
char t[51];
int main()
{
    int n;
    cin >> n;
    for(int i = 1; i <= n; ++i){
        cin >> s[i];
    }
    for(int i = 1; i <= n; ++i){
        cin >> t[i];
    }#include <bits/stdc++.h>
using namespace std;
///vector <pair<int, pair<int,int>> v;
vector <long long> ciur;
bitset <1000001> isPrime;
void buildCiur(){
    for(int i=2; i <= 1000000; i++){
        if(isPrime[i])
            continue;
        ciur.push_back(i);
            for(int j=2*i; j <= 1000000; j+=i)
                isPrime[j]=1;
    }
}
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int main()
{
    buildCiur();
    int t;
    long long n;
    fin >> t;
    for(int i=1; i <= t; ++i){
        fin >> n;
        long long suma=1;
        int divizori=1;
        for(auto x: ciur){
            if(1LL*x*x>n)
                break;
            long long putere=1;
            int exponent=0;
            while(n%x==0){
                n /= x;
                putere *= x;
                exponent++;
            }
            divizori *= (exponent+1);
            suma *= (putere*x-1) /( x-1);
        }
        if(n>1){
            divizori <<= 1;
            suma *= (n+1);
        }
        fout << divizori << ' ' << suma % 9973 << '\n';
    }
    return 0;
}
    int i = 1;
    for(int i = 1; i <= n; ++i){
        if(t[i] != s[i]){

        }
    }
    return 0;
}