Рекурсия: определить, является ли заданное число простым - 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.
- Выводит сообщение о том, является ли число простым.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д