Primzahlen(bc)
Aus IT074-Wiki
Hier zur Abwechslung mal wieder eins dieser großartigen Primzahlprogramme. Diesmal in der Sprache von bc einem herrlichen Tool aus der Lunix-Welt. Geshi kann bc's Syntax derzeit leider nicht hervorheben (bzw. highlighten), darum habe ich ihm das Ding als C verkauft, ist sowieso ziemlich ähnlich.
#!/usr/bin/bc define prim (limit) { pk[2] = 1 /* 2 ist prim */ for (i=3;i<=limit;i+=2) { /* zunaechst sind alle ungeraden Zahlen Primzahlkandidaten */ pk[i]=1 } /* alle Zahlen 3<=z<=sqrt(limit) werden durchgegangen */ for (i=3;i^2<=limit;i++) { /* alle Vielfachen dieser Zahlen werden gestrichen */ for (j=i+1;j<=limit;j++) { /* falls sie noch in Frage kommen */ if (pk[j]==1 && j%i==0) pk[j]=0 } } /* Ausgabe */ for (i=2;i<=limit;i++) { if (pk[i]==1) print i," " } return 0 } /* n bisschen Interaktivitaet */ while (1) { print "Berechne Primzahlen bis (Abbr. mit limit<2): "; plimit = read() if (plimit < 2) break print "Die Primzahlen bis ",plimit," sind " res=prim(plimit) print "\n" } quit

