/* Alkulukutesteri */ #include main() { int n,i; printf("Enter n: "); scanf("%i",&n); /* Käydään läpi kaikki luvun 2...n-1. Jos n on jaollinen * jollain näistä, se ei ole alkuluku. Jos n ei ole jaollinen * millään näistä, se on alkuluku, ts. jos silmukan päätyttyä * silmukkamuuttujalla i on arvo n, niin n on alkuluku. */ for(i=2; i<=n-1; i++) { if(n%i==0) { printf("%i is NOT prime.\n",n); break; /* keskeytetään toistorakenne (for-silmukka), * sillä jos n on jaollinen YHDELLÄKÄÄN, niin se ei * ole alkuluku, ja enempää ei tarvitse testata. */ } } if(i==n) printf("%i IS prime.\n",n); /* Ohjelma voidaan myös toteuttaa niin, että sen suoritus päättyy * kokonaan, jos löytyy sellainen luku, jolla n on jaollinen. Tämä * hoituu return-käskyllä seuraavasti. Nyt ei siis tarvita lausetta * if(i==n) ohjelman lopussa. HUOM. Jos ohjelma voi joissain tapauksissa * päättyä return-käskyyn, niin return-käsky pitää löytyä jokaisesta * mahdollisesta ohjelman loppukohdasta. */ /* for(i=2; i<=n-1; i++) { if(n%i==0) { printf("%i is NOT prime.\n",n); return 0; } } printf("%i IS prime.\n",n); return 0; */ }