Дается натуральное число N. Составьте алгоритм, определяющий сумму натуральных делителей этого числа (в виде блок-схемы). Например: если N=12, 1+2+3+4+6+12=?
Ответы
Входные данные: число N.
Инициализируем переменные: i=1 (номер делителя), sum=0 (сумма делителей).
Проверяем, делится ли N на i без остатка (N % i == 0).
Если да, то добавляем i к сумме делителей (sum = sum + i).
Увеличиваем i на 1.
Если i <= N, то переходим на шаг 3.
Выводим сумму делителей на экран.
Пример работы алгоритма: при N=12 мы последовательно проверяем, делится ли 12 на 1, 2, 3, 4, 5, 6, и если да, то добавляем каждый делитель к сумме, которая в итоге будет равна 1+2+3+4+6+12=28.
+---+
| |
| N |
| |
+---+
|
| +-----------+
+-->| i=1 |
| +-----------+
| | sum = 0 |
| +-----------+
| | +---+ |
| | | i | |
| | +---+ |
| | | | |
| | | V |
| | / \ |
| | | N % i | |
| | \ / |
| | | | |
| | | V |
| | +---+ |
| | | 0 | |
| | +---+ |
| | | | |
| | | V |
| | / \ |
| | | sum + i ||
| | \ / |
| | | | |
| | | V |
| | +---+ |
| | | | |
| | +---+ |
| | | | |
| | | V |
| | / \ |
| | | i + 1 | |
| | \ / |
| | | | |
| | | V |
| | +---+ |
| +---| i <= N|
| +---+ |
| | |
| V |
| +---+ |
+---------|sum| |
+---+ |
| |
V |
+---+ |
| | |
+---+ |
| |
V |
sum |