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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#define YES 1
#define NO  0
 
int main(void)
{
    int number;
    int pos, first, second; 
    int fprime, sprime;
    int half, remainder;
 
    puts("Enter numbers or a letter to end.");
    while (scanf("%i", &number)) {
        first = number - 2;
        half = number / 2;
        while (first >= half) {
            pos = first - 1;
            fprime = YES;
            while(pos > 1 && fprime == YES) {
                if ((first/pos)!= 1 && (first%pos)==0)
                    fprime = NO;
                --pos;
            }
            if (fprime == YES) {
                second = number - first;
                pos = second;
                sprime = YES;
                while(pos > 1 && sprime == YES) {
                    if ((second/pos)!=1 && (second%pos)==0)
                        sprime = NO;
                    --pos;
                }
            }
            if (fprime && sprime && first>=second)
                printf("%i = %i + %i\n", number, first, second);
            --first;
        }
    }
    return 0;
}

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


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

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

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