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

数値が回文であるかどうかをチェックするC++プログラム


回文数は、桁が逆になっても同じままです。つまり、値は変わりません。回文数は対称とも呼ばれます。例:数字12321、1551、11などは、数字が逆になっても変わらないため、回文です。

番号が回文であるかどうかをチェックするプログラムは次のとおりです。

#include<iostream>
using namespace std;
void palindrome(int num) {
   int rev=0,val;
   val = num;
   while(num > 0) {
      rev = rev * 10 + num % 10;
      num = num / 10;
   }
   if(val==rev)
   cout<<val<<" is a palindrome"<<endl;
   else
   cout<<val<<" is not a palindrome"<<endl;
}
int main() {
   palindrome(12321);
   palindrome(1234);
   return 0;
}

出力

12321 is a palindrome
1234 is not a palindrome

上記のプログラムでは、関数パリンドロームは、その数がパリンドロームであるかどうかを調べます。この関数は1つのパラメーター、つまりnumを取ります。プロセスが実行される前に、numの複製、つまりvalが作成されます。 numの値が逆になり、revに保存されます。

これは、次のコードスニペットで示されています-

int rev=0,val;
val = num;
while(num > 0) {
   rev = rev * 10 + num % 10;
   num = num / 10;
}

この後、revの値はnumではなくvalと比較されます。これは、numの値が現在0になっているためです。 revがvalと等しい場合、番号は回文であり、これが印刷されます。それ以外の場合、番号は回文ではありません。

これは、次のコードスニペットで確認できます。

if(val==rev)
cout<<val<<" is a palindrome"<<endl;
else
cout<<val<<" is not a palindrome"<<endl;

  1. C++プログラムでsubstring[L…R]が回文であるかどうかを確認するためのクエリ

    この問題では、文字列str、substring [L...R]の2つの値LとRでそれぞれ構成されるクエリのQ数が与えられます。私たちのタスクは、サブストリング[L…R]が回文であるかどうかをチェックするためにクエリを解決するプログラムを作成することです。 問題の説明 −各クエリを解決するには、LからRの範囲内で作成された部分文字列が回文であるかどうかを確認する必要があります。 問題を理解するために例を見てみましょう 入力 str = “abccbeba” , Q = 3 Query[][] = {{1, 4}, {0, 6}, {4, 6}} 出力 Palindr

  2. アレイが回文であるかどうか、またはC++でSTLを使用していないかどうかを確認するプログラム

    n個の整数の配列arr[n]が与えられた場合、タスクは配列が回文であるかどうかを見つけることです。 C++でSTLを使用して指定されたタスクを実行する必要があります。 C ++には、STL(標準テンプレートライブラリ)の機能があります。これは、データ構造と、スタック、キュー、リストなどのいくつかの機能を提供するために使用されるC ++テンプレートクラスのセットです。これらを使用するには、知識が必要です。テンプレートクラスの。 回文は、シーケンスの前または後ろから同じように読み取られるシーケンスです。回文の簡単な例としては、-MADAM、RACECARなどがあります。配列は、以下の例のような