← Усі приклади

Дружні числа

Java Алгоритми

сума дільників

Блок-схема за ДСТУ

ТакНіПочатокВвід ns = 0i = 1, n - 1, 1n % i == 0s += iПовернути sКінецьРисунок 1 — Amicable.sumDivisorsПочатокВвід a, bПовернути sumDivisors(a) == b && sumDivisors(b) == aКінецьРисунок 2 — Amicable.areAmicable

Вихідний код

class Amicable {
    static int sumDivisors(int n) {
        int s = 0;
        for (int i = 1; i < n; i++) {
            if (n % i == 0) {
                s += i;
            }
        }
        return s;
    }

    static boolean areAmicable(int a, int b) {
        return sumDivisors(a) == b && sumDivisors(b) == a;
    }
}