Ja, man würde vielleicht vermuten, dass es überhaupt keine Schwierigkeit ist, herauszufinden ob eine Zahl eine Primzahl ist oder nicht. Es soll jedoch Leute geben, die sich damit schwer tun (und zufälligerweise des öfteren neben mir in den Vorlesungen sitzen).
Deswegen von mir (auch wenn man dieses Problem wohl niemals rekursiv lösen würde) der entsprechende Source-Code dazu:
int isPrime(int num, int i) { if (num == 0) return 0; if (i*i > num) return 1; if ((num%i) == 0) return 0; return isPrime(num, (i+1)); }
vermutlich nicht so wichtig, aber: der miller-rabin primzahl-algorithmus ist ein monte-carlo-algorithmus, der bei großen zahlen (wie in der kryptografie verwendet) sehr viel besser performt. den source-code für C gibts im netz (http://en.literateprograms.org/Miller-Rabin_primality_test_(C))
Wie ruft man isPrime() denn auf?
Was soll i bedeuten?
i = die maximale Anzahl an Rekursionsschritten.