Рекурсия: определить, является ли заданное число простым - 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;
}

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку ввода-вывода
  2. Функция prime(int num, int del) - определяет, является ли число простым.
  3. Если делитель больше числа, то число простое и функция возвращает true.
  4. Если число делится на делитель без остатка, то функция вызывает саму себя, увеличивая делитель на единицу, и возвращает результат.
  5. Если функция не вернула значение, то число простое и функция возвращает false.
  6. Функция main() - считывает число с помощью функции scanf и передает его в функцию prime.
  7. Выводит сообщение о том, является ли число простым.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы