Найти все пары взаимно простых чисел, сумма которых равна 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;
}