Identifikasi Angka dengan Perulangan

Lagi pusing, bingung, bimbang, ragu dengan sistem utama di kerjaan. Mau buat desain sistemnya aja rasanya gak ada ide. Apalagi coding 😦 Akhirnya refreshing dengan main-main di sini.

Silakan kalau ada yang bisa buat algoritma lebih sederhana.

<?php

$stdin = fopen('php://stdin', 'r');
echo "Masukkan batas awal : ";
$begin = trim(fgets($stdin));
echo "Masukkan batas akhir : ";
$end = trim(fgets($stdin));
echo "n";

if (!is_numeric($begin) || ($begin != (int) $begin) || $begin < 0
        || !is_numeric($end) || ($end != (int) $end) || $end < 0) {
    echo "Batas awal dan/atau batas akhir tidak terdefinisikan.n";
} else {
    for ($i = $begin; $i <= $end; $i++) {
        if ($i == 0) {
            $identifier = " adalah bilangan nol.n";
        } else if ($i % 2 == 1) {
            $identifier = " adalah bilangan ganjil.n";
        } else if ($i % 2 == 0) {
            $identifier = " adalah bilangan genap.n";
        }
        echo $i . $identifier;
    }
    $count = $end - $begin + 1;

    if ($count % 2 == 0) {
        $countOdd = $count / 2;
        $countEven = $count / 2;
    } else if ($count % 2 == 1) {
        if ($begin % 2 == 1) {
            $countOdd = ($count + 1) / 2;
            $countEven = ($count - 1) / 2;
        } else if ($begin % 2 == 0) {
            $countOdd = ($count - 1) / 2;
            $countEven = ($count + 1) / 2;
        }
    }

    if ($begin == 0) {
        $countEven = $countEven - 1;
        $countZero = "Ada 1";
    } else {
        $countZero = "Tidak ada";
    }
    
    echo "n";
    echo "Ada " . $countOdd . " bilangan ganjil.n";
    echo "Ada " . $countEven . " bilangan genap.n";
    echo $countZero . " bilangan nol.";
    echo "n";
}

fclose($stdin);
?>

Dan berikut hasil eksekusinya:

C:xamppphp>php answer24.php
Masukkan batas awal : 0
Masukkan batas akhir : 10

0 adalah bilangan nol.
1 adalah bilangan ganjil.
2 adalah bilangan genap.
3 adalah bilangan ganjil.
4 adalah bilangan genap.
5 adalah bilangan ganjil.
6 adalah bilangan genap.
7 adalah bilangan ganjil.
8 adalah bilangan genap.
9 adalah bilangan ganjil.
10 adalah bilangan genap.

Ada 5 bilangan ganjil.
Ada 5 bilangan genap.
Ada 1 bilangan nol.

Published by Eric Gunawan

Happiness Engineer. WordPress Ambassador. Remote Worker. Soccer News Follower. Movie Lover. Proud Father. Lucky Husband.

2 thoughts on “Identifikasi Angka dengan Perulangan

Leave a comment