Предмет: Информатика, автор: ashaydeosarkar

Дается натуральное число N. Составьте алгоритм, определяющий сумму натуральных делителей этого числа (в виде блок-схемы). Например: если N=12, 1+2+3+4+6+12=?

Ответы

Автор ответа: 4abzdrik
0

Входные данные: число 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  |

Похожие вопросы
Предмет: Геометрия, автор: sultanbekatosha