
PHP演習課題 奇数と偶数の判別
📌 問題 1:奇数・偶数判定(PHP)
📌 問題: 整数 N を入力し、奇数か偶数かを判定するプログラムを作成せよ。
🔹 入力例 & 出力例
整数を入力してください: 5
奇数です
整数を入力してください: 8
偶数です
🔹 解答コード
<?php
// 入力を受け取る
echo "整数を入力してください: ";
$N = intval(trim(fgets(STDIN)));
// 奇数か偶数かを判定
if ($N % 2 == 0) {
echo "偶数です\n";
} else {
echo "奇数です\n";
}
?>
📌 問題 2:1からNまでの奇数・偶数リストアップ(PHP)
📌 問題: 1~N までの数を奇数と偶数に分類し、それぞれリストで出力する。
🔹 入力例 & 出力例
Nを入力してください: 10
偶数: [2, 4, 6, 8, 10]
奇数: [1, 3, 5, 7, 9]
🔹 解答コード
<?php
// 入力を受け取る
echo "Nを入力してください: ";
$N = intval(trim(fgets(STDIN)));
$odds = [];
$evens = [];
// 奇数・偶数リストを作成
for ($i = 1; $i <= $N; $i++) {
if ($i % 2 == 0) {
$evens[] = $i;
} else {
$odds[] = $i;
}
}
// 結果を出力
echo "偶数: [" . implode(", ", $evens) . "]\n";
echo "奇数: [" . implode(", ", $odds) . "]\n";
?>
📌 問題 3:リスト内の奇数・偶数をカウント(PHP)
📌 問題: 与えられたリストの中で、奇数と偶数がそれぞれ何個あるかをカウントせよ。
🔹 入力例 & 出力例
リストの要素数: 5
スペース区切りで数値を入力: 3 8 5 12 7
奇数の個数: 3
偶数の個数: 2
🔹 解答コード
<?php
// 入力を受け取る
echo "リストの要素数: ";
$N = intval(trim(fgets(STDIN)));
echo "スペース区切りで数値を入力: ";
$nums = array_map('intval', explode(" ", trim(fgets(STDIN))));
$odd_count = 0;
$even_count = 0;
// 奇数・偶数をカウント
foreach ($nums as $num) {
if ($num % 2 == 0) {
$even_count++;
} else {
$odd_count++;
}
}
// 結果を出力
echo "奇数の個数: $odd_count\n";
echo "偶数の個数: $even_count\n";
?>
📌 問題 4:奇数・偶数の合計値を比較(PHP)
📌 問題: 与えられたリスト内の奇数と偶数の合計値を比較し、大きい方を出力する。
🔹 入力例 & 出力例
リストの要素数: 6
スペース区切りで数値を入力: 2 7 4 9 10 5
奇数の合計: 21
偶数の合計: 16
奇数の合計の方が大きい
🔹 解答コード
<?php
// 入力を受け取る
echo "リストの要素数: ";
$N = intval(trim(fgets(STDIN)));
echo "スペース区切りで数値を入力: ";
$nums = array_map('intval', explode(" ", trim(fgets(STDIN))));
$odd_sum = 0;
$even_sum = 0;
// 合計値の計算
foreach ($nums as $num) {
if ($num % 2 == 0) {
$even_sum += $num;
} else {
$odd_sum += $num;
}
}
// 結果を出力
echo "奇数の合計: $odd_sum\n";
echo "偶数の合計: $even_sum\n";
if ($odd_sum > $even_sum) {
echo "奇数の合計の方が大きい\n";
} elseif ($odd_sum < $even_sum) {
echo "偶数の合計の方が大きい\n";
} else {
echo "奇数と偶数の合計は等しい\n";
}
?>