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

C++を使用して数字の合計が偶数の数を見つける


完全に2で割ることができる整数は偶数です。したがって、この記事では番号nが与えられており、数字の合計が偶数のn番目の番号を見つける必要があります。数字の合計が偶数の最初の5つの数字は、2、4、6、8、および11です。たとえば、-

Input : n = 5
Output : 11
Explanation : First 5 numbers with even sum of digits are 2, 4, 6, 8, 11 i.e 5th
number is 11.

Input : 12
Output : 24

解決策を見つけるためのアプローチ

これで、特定の問題の解決策を見つけるための2つの異なる手順について知ることができます。

ナイーブアプローチ

n番目の数値を見つける簡単な解決策は、最初に1から始まる数値をトラバースし、その桁の合計が偶数であるかどうかを各数値で確認することです。はいの場合、counterの値がnに等しくなるまで、counterを1つインクリメントし、最後にそのn番目の数値が答えになります。

効率的なアプローチ

n番目の数を見つけるための効率的なアプローチは、最初に偶数の合計で開始数をチェックし、答えを見つけるためにパターンを検索することです。合計が偶数の最初の20の数字は、2、4、6、8、11、13、15、17、19、20、22、24、26、28、31、33、35、37、39、および40です。これらの最初の20の数字から、nの最後の桁が0から4の場合、n番目の数字は2 * nになり、n番目の数字が5から9の場合、n番目の数字は(2 * n + 1)。

#include <bits/stdc++.h>
using namespace std;
int main () {
   long long int n = 13;
   long long int result;
   // finding the last digit of n
   int last_digit = n % 10;
   // checking if last digit is between 0 and 4
   if (last_digit >= 0 && last_digit <= 4)
      result = 2 * n;
      // checking if last digit is between 5 and 9
   else
      result = (2 * n) + 1;
   cout << "nth Number with even sum of digits: " << result;
   return 0;
}

出力

nth Number with even sum of digits: 26

上記のコードの説明

  • 最後の桁を見つけて、それが0から4の間にあるかどうかを確認します。はいの場合、結果変数に回答として2*nを格納します。
  • それ以外の場合は、最後の桁が5から9の間にあるかどうかを確認します。はいの場合、結果変数に回答として2 * n+1を格納します。
  • 結果変数に格納されている数字の合計が偶数のn番目の数値を出力します。

結論

この記事では、数字の合計が偶数のn番目の数値を見つける方法について説明しました。この記事で理解できるように、この問題を2つの方法で解決できます。また、同じ問題を解決するプログラムを作成するためのC++コードを記述します。このコードは、C、java、pythonなどの他の言語で記述できます。この記事がお役に立てば幸いです。


  1. C++を使用して五角錐数を見つける

    五角錐数は、五角錐のアイテム数と同じです。以下の五角数を見てください。 NがN番目の五角錐数に等しくなるまでの五角数の合計。この記事では、たとえば、N番目の五角錐数を見つける方法について説明します Input : N = 4 Output : 40 Explanation : Sum of first four pentagonal numbers 1, 5, 12, 22 is 40. Input : N = 6 Output : 126 Explanation : Sum of first four pentagonal numbers 1, 5, 12, 22, 35, 51

  2. C++を使用して文字列の部分文字列の数を見つける

    この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &