| Alkuluku.java |
1 /**
2 * Ohjelmalla testataan onko_alkuluku-aliohjelmaa
3 * @author Vesa Lappalainen
4 * @version 1.0, 17.01.2002
5 */
6 public class Alkuluku {
7
8 /**
9 * Aliohjelmalla tutkitaan onko parametrina tuotu
10 * luku alkuluku vai ei<br>
11 * Algoritmi: Jaetaan tutkittavaa lukua jakajilla 2,3,5,7...luku/2.
12 * Jos jokin jako menee tasan, niin ei alkuluku:
13 * @param luku tutkittava luku
14 * @return tieto siitä, onko luku alkuluku vai ei
15 */
16 public static String onko_alkuluku(int luku)
17 {
18 int jakaja=2, kasvatus=1;
19 if ( luku == 2 ) return "alkuluku";
20
21 do {
22 int jakojaannos = luku % jakaja;
23 if ( jakojaannos == 0 )
24 return "jaollinen";
25 jakaja += kasvatus;
26 kasvatus = 2;
27 } while ( jakaja < luku/2 );
28
29 return "alkuluku";
30 }
31
32 public static void main(String[] args) {
33 String tulos;
34 tulos = onko_alkuluku(25);
35 System.out.println(tulos);
36 tulos = onko_alkuluku(123);
37 System.out.println(tulos);
38 tulos = onko_alkuluku(7);
39 System.out.println(tulos);
40 }
41 }
42 | Alkuluku.java |