Tämän ohjelman avulla voit tulostaa alkuluvut haluamaltasi väliltä. En mene ihan takuuseen ohjelman virheettömyydestä. Tuntuu kovasti sille, että tämmöinen ohjelma olisi jo postattu tänne vinkkeihin C:llä mutta enpä ainakaan itse löytänyt moista. Pahoittelen jos kuitenkin joku on jo postannut tänne samallaisen vinkin.
//Alkuluku generaattori
//Tämän ohjelman tarkoitus on etsiä alkuluvut, jotka löytyvät halutulta väliltä.
//Alkuluvuksi luokitellan luku, joka on jaollinen vain itsellään ja yhdellä ja kuuluu luonnolisten lukujen joukkoon.
#include <stdio.h>
#define LUKU_MIN 0 //Minimi luku miltä väliltä alkulukuja etsitään
#define LUKU_MAX 100 //Maksimi luku miltä väliltä alkulukuja etsitään
#define RIVI_MAX 5 //Montako lukua per rivi.
main()
{
unsigned int luku, rivi = 0;
for(luku = LUKU_MIN; luku <= LUKU_MAX; ++luku) {
//Huomioo ei voida ottaa lukuja 2, 3, 5, koska ne ovat jaollisia itsellään ja siksi alkulukuja.
if(luku % 2 != 0 || luku == 2) {
if(luku % 3 != 0 || luku == 3) {
if(luku % 5 != 0 || luku == 5) {
if(rivi >= RIVI_MAX) {
printf("\n");
rivi = 0;
}
//Varataan luvuille 5-numeroinen paikka.
printf("%5d", luku);
++rivi;
}
}
}
}
}Pelkkä kakkosella, kolmosella ja viitosella kokeilu ei riitä. Nyt ohjelman mukaan esim. 49 on alkuluku, vaikka 7 * 7 = 49.
Aihe on jo aika vanha, joten et voi enää vastata siihen.