I have the following C code that finds numbers between 1 and 10000 whose sum of digits are prime and save then to a file.
#include<stdio.h>
#include<conio.h>
int sum_of_digits(int);
int check_prime(int);
void save_to_file(int);
int main()
{
int i, num, isPrime;
for(i=2; i<=10000; i++)
{
num = sum_of_digits(i);
isPrime = check_prime(num);
if(isPrime)
{
printf("%d ", i);
save_to_file(i);
}
}
getch();
return 0;
}
int sum_of_digits(int num)
{
int sum = 0;
while (num != 0)
{
sum += num % 10;
num /= 10;
}
return sum;
}
int check_prime(int num)
{
int i;
for (i=2; i<=num-1; i++)
{
if (num%i == 0)
return 0;
}
if (i == num)
return 1;
}
void save_to_file(int num)
{
FILE *fp;
fp=fopen("prime.txt","a+");
fprintf(fp, "%d ", num);
fclose(fp);
}