Ganjil dan bahkan berfungsi dalam pemrograman di C

Anda dapat dengan mudah menemukan nomor ganjil dan genap di C.

Operator modul di C

Operator modul dalam C (direpresentasikan sebagai simbol '%') bertindak sebagai tipe pembagian. Tapi bukannya membagi dua angka dan mengembalikan hasil bagi pengguna, operator modul membagi dua angka dan mengembalikan sisanya sebagai bilangan bulat. Dalam contoh ini, dua operasi modul terjadi, masing-masing mengembalikan nilai yang identik:

int x = 11% 4 // sisa 11/4 = 3 int dan = 13% 5 // sisa 13/5 = 3

Gunakan modul untuk menentukan angka genap dan ganjil

Karena operasi modulo menentukan sisa pembagian antara dua angka, tampaknya logis bahwa operator modulo digunakan untuk menemukan angka ganjil dan genap. Angka genap, menurut definisi, adalah angka apa saja yang dapat dibagi oleh 2. Oleh karena itu, angka tersebut mengembalikan nol ketika mendapatkan modul pembagian dengan 2. Lebih sederhana, angka "n" adalah bahkan jika "n% 2" sama dengan nol. Sebagai contoh, kode ini mendefinisikan fungsi yang mengambil bilangan bulat dan mengembalikan bilangan bulat (0 atau 1) sesuai dengan apakah bilangan genap atau tidak.

int isEven (int x) {return (x% 2); }

Fungsi pembangkitan bilangan genap dan ganjil

Menggunakan operasi modul, tampaknya sederhana untuk membuat fungsi yang menghasilkan angka ganjil atau genap. Seorang programmer mungkin merasa berguna untuk menghasilkan daftar bilangan genap dan ganjil. Dalam hal ini, pengulangan sederhana dan ukuran bidang yang dimasukkan oleh pengguna adalah satu-satunya hal yang Anda perlukan untuk membuat kumpulan angka:

void evenGenerate (ukuran int) {int i = 0;

untuk (i; i <= size; i ++) {if (i% 2 == 0) cout << i << endl; }}

Ini menghasilkan angka genap. Programmer dapat mengubah pernyataan "if" untuk mengatakan "if (i% 2 == 1)" untuk menghasilkan angka ganjil.

Alternatif untuk Modulus

Modul itu sendiri bukan operasi sederhana, tetapi berisi tiga perhitungan matematika dalam satu. Ini karena operasi "x% y" sebenarnya sama dengan "x - y * (x / y)". Mengetahui hal ini, seorang programmer dapat membagi operasi atau menemukan cara untuk menggabungkan bagian-bagian operasi dengan operasi lain untuk mengoptimalkan waktu. Tetapi untuk penggunaan dan kemudahan umum dalam pengkodean, operator modul bekerja dengan baik. Berikut ini berfungsi sebagai contoh dari dua metode bersama dalam C:

int x = 10% 2; // 10/2 = 5 tanpa sisa int y = 10 - (2 * (10/2)); // Untuk operasi, 10/2 = 5; 5 * 2 = 10; 10 - 10 = 0 istirahat