Run
// C program to check whether a number can be expressed as a sum of two prime numbers
#include<stdio.h>
int sum_of_two_primes(int n);
int main()
{
int n, i;
printf("Insert the num: ");
scanf("%d", &n);
int flag = 0;
for(i = 2; i <= n/2; ++i)
{
// Condition for i to be prime
if(sum_of_two_primes(i) == 1)
{
if(sum_of_two_primes(n-i) == 1)
{
printf("%d can be expressed as the sum of %d and %d", n, i, n-i);
flag = 1;
}
}
}
if(flag == 0)
printf("%d cannot be expressed as the sum of two primes\n", n);
return 0;
}
int sum_of_two_primes(int n)
{
int i, isPrime = 1;
for(i = 2; i <= n/2; ++i)
{
if(n % i == 0)
{
isPrime = 0;
break;
}
}
return isPrime;
}
Output
Insert the num: 15
15 can be expressed as the sum of 2 and 13
#include
int isprime(int n) {
if (n <= 1)
return 0;
for (int i = 2; i * i <= n; i++)
if (n % i == 0)
return 0;
return 1;
}
int main() {
int num;
scanf("%d", &num);
int flag = 0;
for (int j = 2; j <= num / 2; j++) {
if (isprime(j) == 1 && isprime(num – j) == 1) {
printf("%d %d\n", j, num – j);
flag = 1;
}
}
if (flag == 0)
printf("No two prime numbers sum up to %d\n", num);
return 0;
}
#include
//this method also prints all the possible prime numbers whose sum is given number
int isitprime(int x)
{
int count=0;
for(int i=2;i0)
return 1;
else return 0;
}
int main() {
int n,flag=0;
printf(“Enter the number”);
scanf(“%d”,&n);
for(int j=1;j<n/2;j++)
{
if(isitprime(j)==0 && isitprime(n-j)==0)
printf("%d can be expressed as sum of %d and %d",n,j,n-j);
flag=1;
}
if(flag==0)
printf("%d cant be expressed as sum of two numbers.",n);
return 0;
}
#include
int prime(int j)
{ int k,count=0;
for( k=1;k<=j;k++)
{
if(j%k==0)
{
count++;
}
}
if(count==2)
return 1;
}
int main()
{
int n,i;
printf("enter the number:");
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(prime(i)==1)
{
if(prime(n-i)==1)
{
printf("the number %d can be written as sum of %d and %d",n,i,n-i);
}
}
}
}