How to find the two prime numbers of a number whose sum is equal to the number itself in C

1 Answer

0 votes
#include <stdio.h>

int isPrime(int n) {
    if (n <= 1) return 0;
    
    for (int i = 2; i <= n / 2; ++i) {
        if (n % i == 0) return 0;
    }
    
    return 1;
}

int main() {
    int n = 38;
    int found = 0;

    for (int i = 2; i <= n / 2; ++i) {
        if (isPrime(i) && isPrime(n - i) && i != (n - i)) {
            printf("%d = %d + %d\n", n, i, n - i);
            found = 1;
        }
    }

    if (!found) {
        puts("Not Found");
    }
}


/*
run:
   
38 = 7 + 31
            
*/

 



answered Oct 23, 2024 by avibootz
...