Найти все пары взаимно простых чисел, сумма которых равна 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д