Найти наименьший делитель введенного пользователем целого положительного числа - C (СИ)
Формулировка задачи:
Товарищи, помогите пожалуйста) Задание следующее:
Написать программу, которая находит наименьший делитель (начиная с 2-х) введенного пользователем целого положительного числа. Для этого организовать цикл, который заканчивается, когда текущее значение некоторой переменной является делителем числа, и это число увеличивается на 1 на каждом шаге цикла.
Как я понимаю, в моем случае цикл заканчивается после первого же исполнения. А как сделать так, чтобы цикл исполнялся до момента, пока условное выражение ложно и не станет истинным?
main() { int a, b, min; printf("Введите целое положительное число: "); scanf("%i",&a); min = a; for(b=2; a % b; b++) min = (b < min) ? b : min; printf("Наименьший делитель числа %i равен %i", a, min); }
Решение задачи: «Найти наименьший делитель введенного пользователем целого положительного числа»
textual
Листинг программы
#include <stdio.h> int main (void) { int i, n; printf ("enter the number\n> "); scanf ("%d", &n); for (i = 2; i <= n && (n % i != 0); i++) ; printf ("%d\n", i); return 0; }
Объяснение кода листинга программы
В этом коде:
- #include
Указывает компилятору включить в программу функции файла стандартного ввода/вывода, нужные для отправки сообщений в консоль - int main (void) Функция main() является точкой входа, с неё начинается выполнение любой программы на C
- printf (
enter the number\n>
); Выводит сообщение с приглашением пользователю ввести число - scanf (
%d
, &n); Считывает введенное пользователем число и сохраняет его в переменной n типа int - for (i = 2; i <= n && (n % i != 0); i++) ; Цикл for для нахождения наименьшего делителя числа n. Переменная i инициализируется значением 2, затем она увеличивается на единицу после каждой итерации цикла. Условие цикла требует, чтобы цикл продолжался, пока i меньше или равно n, и n не делится на i без остатка. Как только число делится на i без остатка, цикл прекращается и i получает последнее значение, которое является наименьшим делителем
- printf (
%d\n
, i); Выводит на экран значение i, которое является наименьшим делителем числа n - return 0; Обозначает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д