Ввести число, вывести все делители этого числа - C (СИ)
Формулировка задачи:
Ввести число, вывести все делители этого числа (на си)
Решение задачи: «Ввести число, вывести все делители этого числа»
textual
Листинг программы
for(i=1; i*i<=N; i++) {
if (N%i==0) printf("%d\n", i);
if (N!=i*i) printf("%d\n", N/i);
}
Объяснение кода листинга программы
Код представляет собой алгоритм нахождения всех делителей числа N.
- Переменная
iинициализируется значением 1. - Цикл
forначинается, условие которого гласит, чтоiменьше или равно квадратному корню изN. - В каждой итерации цикла проверяется, является ли
Nкратнымi. Если да, то числоiвыводится на экран. - Затем проверяется, является ли
Nравнымi*i. Если нет, то числоNделится наiи результат также выводится на экран. - После выполнения всех итераций цикла, переменная
iувеличивается на 1. - Цикл продолжается до тех пор, пока
iменьше или равно квадратному корню изN. - Если после выполнения цикла делители не найдены, выводится сообщение об ошибке.