#include #include #include #include char niz[51]; char string[10]; FILE *fin, *fout; void ucitaj_podatke (void) { fin = fopen ("PROSTI.IN", "r"); fout = fopen ("PROSTI.OUT", "w"); fscanf (fin, "%s\n", niz); fclose (fin); } int prosti (long broj) { int i, m = sqrt ((double)broj) + 1; for (i = 2; i <= m; i++) if (broj % i == 0) return 0; return 1; } int provjeri (long broj) { int i, k; ltoa (broj, string, 10); for (k = 0, i = 0; i < strlen (string); i++) while (niz[k++] != string[i]) if (k > strlen (niz) - 1) return 0; return 1; } long nadji (void) { long i, b = 0; for (i = 10007L; i < 100000L; i += 2) if (provjeri (i)) if (prosti (i)) b++; return b; } void main (void) { int i = 0; ucitaj_podatke (); while (niz[i++] == '0'); strcpy (niz, &niz[i - 1]); if (strlen (niz) < 5) fprintf (fout, "0\n"); else fprintf (fout, "%ld\n", nadji ()); fclose (fout); }