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

C++で変換せずに数値のすべての部分文字列を出力します


この問題では、整数nが与えられます。また、形成できる数値のすべての部分文字列を出力する必要がありますが、文字列の変換は許可されていません。つまり、整数を文字列または配列に変換することはできません。

トピックをよりよく理解するために例を見てみましょう-

Input: number =5678
Output: 5, 56, 567, 5678, 6, 67, 678, 7, 78, 8

この問題を解決するには、数理論理学を使用する必要があります。ここでは、最上位ビットを最初に印刷し、次に連続するビットを印刷します。

アルゴリズム

Step1: Take a 10’s power number based on the number of digits.
Step2: print values recursively and divide the number by 10 and repeat until the number becomes 0.
Step3: Eliminate the MSB of the number and repeat step 2 with this number.
Step4: Repeat till the number becomes 0.
#include <iostream>
#include<math.h>
using namespace std;
void printSubNumbers(int n) ;
int main(){
   int n = 6789;
   cout<<"The number is "<<n<<" and the substring of number are :\n";
   printSubNumbers(n);
   return 0;
}
void printSubNumbers(int n){
   int s = log10(n);
   int d = (int)(pow(10, s) + 0.5);
   int k = d;
   while (n) {
      while (d) {
         cout<<(n / d)<<" ";
         d = d / 10;
      }
      n = n % k;
      k = k / 10;
      d = k;
   }
}

出力

数値は6789で、数値の部分文字列は-

6 67 678 6789 7 78 789 8 89 9

  1. 条件文を使用せずに「偶数」または「奇数」を出力するC++プログラム

    このセクションでは、(<、 =、==)のような条件付きステートメントを使用せずに、数値が奇数か偶数かを確認する方法を説明します。 条件文を使用することで、奇数または偶数を簡単に確認できます。数値を2で割って、余りが0かどうかを確認できます。 0の場合、それは偶数です。それ以外の場合は、数値と1を使用してAND演算を実行できます。答えが0の場合は偶数、それ以外の場合は奇数です。 ここでは、条件ステートメントを使用できません。奇数または偶数をチェックするための2つの異なる方法が表示されます。 方法1 ここでは、文字列の配列を作成します。インデックス0の位置は「偶数」を保持し、インデックス1の

  2. Pythonプログラムでループを使用せずに数値シリーズを印刷する

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 2つの数NとKが与えられた場合、問題は、数(N)がゼロ(0)より大きくなるまでNから数Kを引くことです。次に、Nが負またはゼロになると、その数が元になるまでKを加算し始めます。番号(N)。 例 N = 10 K = 4 出力 10 6 2 -2 2 6 10 アルゴリズム Nがゼロより大きくなるまで関数を何度も呼び出します(すべての関数呼び出しで、NからKを減算します)。 数値が負またはゼロになると、数値が元の数値になるまで、各関数呼び出しでKを追加し始めます。 ここでは、加算と減算