Cod sursa(job #2971076)

Utilizator AswVwsACamburu Luca AswVwsA Data 26 ianuarie 2023 15:56:52
Problema Fractii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <cstring>
using namespace std;


const int NMAX = 1e6;

int mobius[NMAX + 1];
int main()
{
    ifstream cin("fractii.in");
    ofstream cout("fractii.out");
    int i, n;
    cin >> n;
    mobius[1] = 1;
    for (i = 2; i <= n; i++)
        mobius[i] = -1;
    for (i = 2; i <= n; i++)
        if (mobius[i] == -1)
        {
            for (int j = 2 * i; j <= n; j += i)
                if (j % i == 0 and (j / i) % i != 0)
                    mobius[j] = mobius[i] * mobius[j / i];
                else
                    mobius[j] = 0;
        }
    long long ans = 0;
    for (i = 1; i <= n; i++)
        ans += mobius[i] * (n / i) * (n / i);
    cout << ans;
}