C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++で指定した数値がバズナンバー(Buzz Number)かどうかを判定するプログラム

本記事では、正の整数「n」が与えられたとき、その数値がバズナンバー(Buzz Number)であるかどうかを判定し、結果を出力するC++プログラムを紹介します。

バズナンバーとは?

ある数値がバズナンバーとみなされるためには、以下の2つの条件のうちどちらか一方を満たしている必要があります。

  • 数値の末尾(1の位)が7であること。例:27、657 など
  • 数値が7で割り切れること。例:63、49 など

入出力例

入力:

number: 49

出力:

it's a buzz number

解説: この数値は7で割り切れるため、バズナンバーです。

入力:

number: 29

出力:

it's not a buzz number

解説: この数値は7で割り切れず、末尾も7ではないため、バズナンバーではありません。

プログラムのアプローチ

  • 判定対象となる数値を入力として受け取る
  • その数値が「末尾が7」または「7で割り切れる」条件を満たすかチェックする
  • 条件を満たしていれば「バズナンバーである」と出力する
  • 条件を満たしていなければ「バズナンバーではない」と出力する

アルゴリズム

Start
Step 1→ バズナンバーかどうかを判定する関数を宣言する
    bool isBuzz(int num)
       return (num % 10 == 7 || num % 7 == 0)
Step 2→ main() 内での処理
    int num = 67 を宣言する
    IF (isBuzz(num))
       "its a buzz Number\n" を出力する
    End
    Else
       "its not a buzz Number\n" を出力する
    End
Stop

サンプルコード

#include <cmath>
#include <iostream>
using namespace std;
// バズナンバーかどうかを判定する関数
bool isBuzz(int num){
    return (num % 10 == 7 || num % 7 == 0);
}
int main(){
    int num = 67;
    if (isBuzz(num))
        cout << "its a buzz Number\n";
    else
        cout << "its not a buzz Number\n";
}

実行結果

上記のコードを実行すると、次の出力が得られます。

its a buzz Number

コードのポイント

このプログラムの核となるのは isBuzz 関数です。num % 10 == 7 によって1の位が7かどうかを確認し、num % 7 == 0 によって7で割り切れるかどうかを確認しています。論理和演算子(||)を使うことで、どちらか一方の条件を満たせば true を返すシンプルな実装になっています。

  1. Pythonで与えられた数値がユークリッド数(Euclid Number)かどうかを判定する方法

    ユークリッド数とは? ある整数 n が与えられたとき、それがユークリッド数であるかどうかを判定することを考えます。ユークリッド数とは、次の式で表すことができる整数のことです。 n = Pn + 1 ここで Pn は「最初の n 個の素数の積」を意味します。 例として、入力が n = 211 の場合を考えてみましょう。211 は次のように表せるため、出力は True になります。 211 = (2 × 3 × 5 × 7) + 1 解決のためのアプローチ この問題は、以下の手順で解くことができます。 上限値 MAX を 10000 に設定し、空の素数リスト primes を用意します。 関数

  2. Pythonでナルシスト数(アームストロング数)を判定するプログラムの作成方法

    ナルシスト数とは? ナルシスト数(Narcissistic Number、別名:アームストロング数)とは、「各桁の数字を桁数乗して合計した値が、元の数そのものと一致する数」のことです。 例えば、9474 を考えてみましょう。この数は4桁なので、各桁の数字を4乗して足し合わせます。 9^4 + 4^4 + 7^4 + 4^4 = 6561 + 256 + 2401 + 256 = 9474 計算結果が元の数 9474 と一致しているため、9474 はナルシスト数であると言えます。 判定アルゴリズムの手順 この問題を解くためには、以下の手順に従います。 数値 n を文字列に変換し、各桁の数字を