Загрузка данных


#include <stdio.h>

int largest_prime_divisor(int number) {
    long long n = number;
    long long d = 2;

    if (n < 0) {
        n = -n;
    }

    while (d * d <= n) {
        long long remainder = n;
        long long quotient = 0;

        while (remainder >= d) {
            remainder -= d;
            quotient++;
        }

        if (remainder == 0) {
            n = quotient;
        } else {
            d++;
        }
    }

    return (int)n;
}

int main(void) {
    int number;
    char end = '\n';

    if (scanf("%d%c", &number, &end) >= 1 && end == '\n' &&
        number != 0 && number != 1 && number != -1) {
        printf("%d\n", largest_prime_divisor(number));
    } else {
        printf("n/a\n");
    }

    return 0;
}