Monday, May 17, 2010

Solusi menentukan bilangan ganjil di angka

Tadi iseng pak jon kasih tugas mencari bilangan  ganjil pada angka.
ada 4 cara yang bisa kita gunakan pada java antara lain :
1.Cara yang saya gunakan dengan menghitung dari awal dan cek satu persatu dari angka,codingannya seperti ini :

package com.andia.project.ganjil;

public class CaraDendy {

    public static void main(String[] args) {
        int[] daftarGanjil = new int[] { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21,
                23, 25, 27, 29, 31, 33 };

        int nilai = 31;
        for (int i = 0; i < daftarGanjil.length; i++) {
            if (daftarGanjil[i] == nilai) {
                System.out.println("bilangan ganjil = " + nilai);
            }
        }
    }
}

outputnya :
bilangan ganjil = 31

nah,permasalahannya bagaimana angka yang kita miliki unlimited..apakah kita cek satu persatu?tentu tidak kan...hanya orang yang tidakk punya pekerjaan seperti ini.

2. Cara yang kedua lumayan cepat kalo kita menentukan bilangan ganjil pada bilangan tertentu.
begini codingannya :

package com.andia.project.ganjil;

public class CaraEko {

    public static void main(String[] args) {

        String angka = "7892819341563";

        System.out.println("angka 7892819341563,ganjil apa genap ?");
        System.out
                .println("dengan ketetapan setiap angka yang dibelakangnya 1,3,5,7,9 adalah bilangan ganjil ");
        System.out.println("angka 7892819341563 dibelakangnya angka "
                + angka.substring(12, 13) + " maka bilangan ganjil");
    }
}

outputnya :
angka 7892819341563,ganjil apa genap ?
dengan ketetapan setiap angka yang dibelakangnya 1,3,5,7,9 adalah bilangan ganjil
angka 7892819341563 dibelakangnya angka 3 maka bilangan ganjil

3.Cara ketiga kita gunakan adalah dengan mengunakan pembagian bagi 2..
apabila suatu angka dibagi 2 dan sisanya 1 maka bilangan tersebut ganjil
dan apabila sisanya angka 0 maka hasilnya bilangan genap.
berikut contoh codingannya.

package com.andia.project.ganjil;

public class CaraPakJon1 {

    public static void main(String[] args) {

        long angka = 7892819341563L;

        System.out
                .println("angka kalau dibagi dengan 2 dan hasilnya 0 adalah angka ganjil");
        System.out.println("bilangan ganjil " + angka % 2);
    }

}

outputnya :
angka kalau dibagi dengan 2 dan hasilnya 0 adalah angka ganjil
bilangan ganjil 1

dan cara yang terkahir kita gunakan adalah dengan menggunakan binary.dan di dalam java ada method yang membantu kita menggunakan binary yaitu :
toBinaryString();

dan berikut sample codingannya :
package com.andia.project.ganjil;

public class CaraPakJon2 {

    public static void main(String[] args) {

        System.out.println("7892819341563 in binary: "
                + Integer.toBinaryString((int) 7892819341563L));
        System.out.println("akhirnya angka 1 maka bilangan ganjil");

    }

}

outputnya :
7892819341563 in binary: 10110000101100010111000011111011
akhirnya angka 1 maka bilangan ganjil


dan cara yang paling hemat untuk mengetahui bilangan tersebut ganjil atau genapnya adalah cara yang no 3 kita gunakan.

selamat mencoba..

No comments: