Найти все пары взаимно простых чисел, сумма которых равна x - C (СИ)

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

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

Вариант №11 Ввести натуральное число x. Найти все пары взаимно простых чисел, сумма которых равна x.

Решение задачи: «Найти все пары взаимно простых чисел, сумма которых равна x»

textual
Листинг программы
  1. #include <stdio.h>
  2. #define YES 1
  3. #define NO  0
  4.  
  5. int main(void)
  6. {
  7.     int number;
  8.     int pos, first, second;
  9.     int fprime, sprime;
  10.     int half, remainder;
  11.  
  12.     puts("Enter numbers or a letter to end.");
  13.     while (scanf("%i", &number)) {
  14.         first = number - 2;
  15.         half = number / 2;
  16.         while (first >= half) {
  17.             pos = first - 1;
  18.             fprime = YES;
  19.             while(pos > 1 && fprime == YES) {
  20.                 if ((first/pos)!= 1 && (first%pos)==0)
  21.                     fprime = NO;
  22.                 --pos;
  23.             }
  24.             if (fprime == YES) {
  25.                 second = number - first;
  26.                 pos = second;
  27.                 sprime = YES;
  28.                 while(pos > 1 && sprime == YES) {
  29.                     if ((second/pos)!=1 && (second%pos)==0)
  30.                         sprime = NO;
  31.                     --pos;
  32.                 }
  33.             }
  34.             if (fprime && sprime && first>=second)
  35.                 printf("%i = %i + %i\n", number, first, second);
  36.             --first;
  37.         }
  38.     }
  39.     return 0;
  40. }

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


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

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

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы