ホームページ >バックエンド開発 >C++ >番号が別の番号で終わっているかどうかを確認する

番号が別の番号で終わっているかどうかを確認する

WBOY
WBOY転載
2023-08-26 13:25:031274ブラウズ

番号が別の番号で終わっているかどうかを確認する

#典型的なプログラミングの課題は、数値が別の数値で終わるかどうかを判断することです。この問題を解決するには、特定の数値の最後の桁を特定し、それらが別の数値と一致するかどうかを確認する必要があります。データ処理、文字列操作、数値分析などの多くのアプリケーションでは、このような操作が頻繁に行われます。この課題を解決するには、数値から文字列への変換、モジュロ算術、論理演算子の使用などのプログラミング手法が使用されます。このトピックは、数値の操作とアルゴリズムの問​​題の解決をより上手にしたいと考えている初心者および中級のプログラマーにとって興味深いものです。

###方法###

数値が別の数値で終わっているかどうかを確認する方法は複数あります。ここでは 2 つの一般的な方法を示します -

モジュロ演算子 (%)
  • を使用します。

    文字列変換を使用する
  • 方法 1: モジュロ演算子 (%) を使用する
2 つの数値を除算した場合、モジュロ演算子は剰余を返します。モジュロ演算子を使用すると、2 番目の数値を約数として使用して、ある数値が別の数値で終わるかどうかを判断できます。結果が 2 番目の数値と等しい場合、最初の数値は 2 番目の数値で終わります。

一般的に使用される数学演算子はモジュロ演算子と呼ばれ、除算演算の剰余を返し、記号 % で表されます。便利なアプリケーションは、モジュロ演算子を使用して、ある数値が別の数値で終わるかどうかを検証することです。

モジュロ演算子を使用して、数値「n」を別の数値「m」で除算した後の残りの値を取得し、2 つの数値が連続しているかどうかを判断できます。余りが m に等しい場合、n は m で終わります。 m に等しくない場合は、等しくありません。

###文法###

このメソッドの構文は次のとおりです -

数値が別の数値で終わっているかどうかを確認する関数

    リーリー
  • 終了番号の桁数を取得します
    リーリー
  • 約数の計算
    リーリー
  • 余りの計算
    リーリー
  • 余りが終了数値と等しい場合に true を返します
  • ここで、

    number

    は元の番号、
  • ending

number の最後にあるかどうかを確認する番号です。式 floor(log10(ending)) 1ending の桁数を計算し、pow(10,digits) は除数を計算します。 numberdivisor で割った余りは、モジュロ演算子 % を使用して計算されます。余りが ending に等しい場合、関数は true を返し、numberending で終わることを示します。 ###アルゴリズム### モジュロ演算子は、整数が別の数値で終わるかどうかを判断するために、次の C プロシージャで使用されます。 - ステップ 1

- 比較する 2 つの数値である num と末尾の Num を入力します。

ステップ 2

- モジュロ演算子 (%) を使用して、num を 10 で割った余りを計算します。

ステップ 3

-数値が終了桁で終わり、剰余が終了桁と等しい場合は true を返します。

ステップ 4

- そうでない場合は、数値を 10 で割って、数値が 0 になるまでステップ 1 ~ 2 を繰り返します。

ステップ 5

- ループが一致せずに終了する場合、番号は end Num で終わらないため、false が返されます。

例 1

モジュロ演算子を使用して数値が別の数値で終わるかどうかを確認する例 −

この例では、endsWith 関数は 2 つの整数パラメータ数値と末尾を受け入れます。次に、モジュロ演算子 % を使用して、数値の最後の桁が末尾に等しいかどうかを判断します。そうである場合、関数は true を返し、そうでない場合は false を返します。

endsWith メソッドを呼び出す前に、まず main 関数で数値と終了を定義します。メソッドが true を返した場合、番号が end で終わることを示すメッセージが出力されます。そうでない場合は、番号が末尾で終わっていないことを示すメッセージを出力します。

これは非常に単純な例にすぎないことに注意することが重要です。数値が別の数値で終わるかどうかを判断するには、さまざまな方法 (文字列操作方法など) が存在します。モジュロ演算子は一般的で効果的な手法です。

リーリー ###出力### リーリー

方法 2: 文字列変換を使用する

この手法では、文字列操作関数を使用して、2 つの整数を文字列に変換することで、その末尾が一致するかどうかをチェックします。一般的なアプローチは、to_string() 関数を使用して数値を文字列に変換し、最初の文字列の最後の数文字が 2 番目の文字列の最後の数文字と一致するかどうかを確認することです。

###文法###

以下は、実際のコードを含まない、数値が別の数値で終わるかどうかを確認する C の文字列変換メソッドの構文です。

数値を文字列に変換

リーリー

文字列の最後の文字が等しいかどうかを確認します

リーリー ###アルゴリズム###
    これは、数値が別の数値で終わるかどうかを判断するための C アルゴリズムです −
  • ステップ 1
  • - これら 2 つの整数の文字列を作成することから始めます。
  • ステップ 2

    - 2 番目の整数を n と仮定して、その長さを決定します。

    步骤 3 - 如果第一个数字的长度小于 n,则返回 false。

    步骤 4 − 将 substr 方法应用于第一个数字,以提取最后 n 位数字。

    第五步 - 使用stoi方法将第二个数字和检索到的子字符串转换为整数。比较这两个整数

    步骤6 - 如果它们相等,则返回true。如果不相等,则返回false。

    Example 2

    使用 to_string() 函数将这两个数字转换为字符串。然后使用 substr() 函数提取第一个字符串的最后几个字符,使其与第二个字符串的长度相匹配。然后使用 == 运算符将这些提取的字符与第二个字符串进行比较。

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main() {
       int num1 = 123456;
       int num2 = 56;
    
       string str1 = to_string(num1);
       string str2 = to_string(num2);
    
       if (str1.substr(str1.length() - str2.length()) == str2) {
          cout << "Number 1 ends with number 2" << endl;
       } else {
          cout << "Number 1 does not end with number 2" << endl;
       }
    
       return 0;
    }
    

    输出

    Number 1 ends with number 2
    

    结论

    总之,使用substr()函数比较每个字符串的最后几个字符,或者使用模运算来分离每个数字的最后几位数并直接比较它们,这两种方法都可以判断一个数字是否以另一个数字结尾。这两种策略都很有效,并且可以使用基本的C++编程结构来实践。许多需要模式匹配的数值和计算应用都可以从这个任务中受益。

以上が番号が別の番号で終わっているかどうかを確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。