/** * Ohjelmalla testataan onko_alkuluku-aliohjelmaa * @author Vesa Lappalainen * @version 1.0, 17.01.2002 */ public class Alkuluku { /** * Aliohjelmalla tutkitaan onko parametrina tuotu * luku alkuluku vai ei
* Algoritmi: Jaetaan tutkittavaa lukua jakajilla 2,3,5,7...luku/2. * Jos jokin jako menee tasan, niin ei alkuluku: * @param luku tutkittava luku * @return tieto siitä, onko luku alkuluku vai ei */ public static String onko_alkuluku(int luku) { int jakaja=2, kasvatus=1; if ( luku == 2 ) return "alkuluku"; do { int jakojaannos = luku % jakaja; if ( jakojaannos == 0 ) return "jaollinen"; jakaja += kasvatus; kasvatus = 2; } while ( jakaja < luku/2 ); return "alkuluku"; } public static void main(String[] args) { String tulos; tulos = onko_alkuluku(25); System.out.println(tulos); tulos = onko_alkuluku(123); System.out.println(tulos); tulos = onko_alkuluku(7); System.out.println(tulos); } }