Онлайн компилятор C

#include <stdio.h> _Bool isPrime(int n, int divider) { // divider = 2 3 4 5 ... // 1) stop condition if(n < 2) return 0; if( divider * divider > n) { return 1; // number is prime } if(n % divider == 0) { return 0; } return isPrime(n , divider + 1); } int main() { int n; scanf("%d", &n); if(isPrime(n, 2)) { printf("%d is prime\n", n); } else { printf("%d is NOT prime\n", n); } return 0; }
1) Этот код проверяет, является ли введённое число простым, используя рекурсивную функцию. Функция `isPrime` проверяет делители начиная с 2 до квадратного корня из числа.

2) Подсказки:  
   - Обрати внимание на условие `divider * divider > n` — оно помогает оптимизировать проверку, так как делители больше корня из `n` не нужно проверять.  
   - Убедись, что понимаешь, как работает рекурсивный вызов `isPrime(n, divider + 1)` — каждый раз функция проверяет следующий делитель.