Add problem 46 solution

This commit is contained in:
kevin
2019-02-10 23:03:40 -05:00
parent 67adedf4ad
commit 6b1a4ebbd1
2 changed files with 66 additions and 0 deletions

45
problem-46.c Normal file
View File

@@ -0,0 +1,45 @@
#include <stdio.h>
#include "primes.h"
int next_prime(int num)
{
num++;
while (1)
if (is_prime(num)) {
return num;
} else {
num++;
}
}
int check(int num)
{
int i;
int prime = 2;
while (prime < num) {
for (i=1; i<(num-prime+1); i++)
if (num == prime+2*(i*i))
return 1;
prime = next_prime(prime);
}
return 0;
}
int main(int argc, char** argv)
{
int i = 9; /* First odd composite */
while (1) {
if (!(check(i)))
break;
do {
i += 2;
} while (is_prime(i));
}
printf("The solution is %d\n", i);
return 0;
}