Найти пару максимум номеров близнецов меньше чем n - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Данно n, нужно найти пару максимум номеров близнецов меньше чем n???

Решение задачи: «Найти пару максимум номеров близнецов меньше чем n»

textual
Листинг программы
#include<stdio.h>
int Prime(int a)
{
   int i;
   if (a == 2)
      return 1;
   if (a == 0 || a == 1 || a % 2 == 0)
      return 0;
   for(i = 3; i*i <= a && a % i; i += 2)
      ;
   return i*i > a;
} 
int main()
{
    int i, n;
    printf("n= ");
    scanf("%d", &n);
    for(i=n; i>4; i--)
        if(Prime(i) && Prime(i-2))
        {
            printf("%d %d\n", i, i-2);
            break;
        }
    return 0;
}

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

В этом коде реализована функция поиска пары максимальных простых чисел (близнецов), которые меньше заданного числа n. Список действий, которые выполняются в коде:

  1. В функции main() объявляются переменные i и n типа int, а также происходит вывод сообщения n= и считывание числа n с помощью функции scanf().
  2. В основной цикл for(i=n; i>4; i--) начинается обход чисел от n до 5 включительно.
  3. Внутри цикла проверяется, являются ли текущее число i и число i-2 простыми с помощью функции Prime(). Если оба числа простые, то выводится сообщение с их значениями и цикл прерывается с помощью оператора break.
  4. В конце функции main() возвращается 0, что означает успешный конец работы программы.
  5. В функции Prime() проверяется, является ли число a простым. Если число равно 2, то функция возвращает 1. Если число равно 0, 1 или делится на 2 без остатка, то функция возвращает 0. Если число больше 2, то в цикле проверяется, делится ли число на i без остатка. Если делится, то цикл продолжается, если нет, то возвращается i*i, которое больше заданного числа a.

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


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

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

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