#include <stdio.h>

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

int main(void)
{
int i;
for (i = 2; i < 500; i++) {
if (is_prime(i) && is_prime(1000-i))
printf("%d %d\n", i, 1000-i);
}
return 0;
}
このプログラムで各々が何をしているのかわかりません。
教えてくれないでしょうか?