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.