#include #include using namespace std; int ist_prim(int p) { int erg = p>=2; for (int i = 2; i < p; ++i) { if (p%i == 0) erg = 0; } return erg; } int max_prim = 2; void tschuess(int num) { printf("groesste gefundene Primzahl: %d\n", max_prim); signal(SIGINT, SIG_DFL); raise(SIGINT); // unsauber ??? } void zwischenbericht(int num) { static int versuch = 1; printf("Versuch %d bei %d\n", versuch, max_prim); signal(SIGINT, ++versuch < 3 ? zwischenbericht : tschuess); } int main() { printf("Suche grosse Primzahl\nAbbruch mit Strg+C (3 Versuche)\n"); signal(SIGINT, zwischenbericht); for (int n = 1; n > 0; ++n) { if (ist_prim(n)) max_prim = n; } return 0; }