Рекурсия: определить, является ли заданное число простым - C (СИ)
Формулировка задачи:
Надо написать рекурсивную функцию определения, является ли заданное число простым
Решение задачи: «Рекурсия: определить, является ли заданное число простым»
textual
Листинг программы
- #include <stdio.h>
- bool prime(int num, int del)
- {
- if(del > num/2)
- return true;
- return num%del ? prime(num,++del) : false;
- }
- int main()
- {
- int num;
- printf("enter your number: ");
- scanf("%i",&num);
- if (prime(num,2))
- printf("your number is prime\n");
- else
- printf("you number is'nt prime\n");
- return 0;
- }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Функция prime(int num, int del) - определяет, является ли число простым.
- Если делитель больше числа, то число простое и функция возвращает true.
- Если число делится на делитель без остатка, то функция вызывает саму себя, увеличивая делитель на единицу, и возвращает результат.
- Если функция не вернула значение, то число простое и функция возвращает false.
- Функция main() - считывает число с помощью функции scanf и передает его в функцию prime.
- Выводит сообщение о том, является ли число простым.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д