ホームページ  >  記事  >  バックエンド開発  >  C++ を使用して、桁の合計が偶数となる数値を見つけるプログラムを作成します。

C++ を使用して、桁の合計が偶数となる数値を見つけるプログラムを作成します。

WBOY
WBOY転載
2023-08-28 23:49:071277ブラウズ

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 から開始して数値を反復し、各数値の桁の合計が偶数であるかどうかを確認し、偶数であれば、数値をインクリメントすることです。カウンタの値が n に等しくなるまで 1 ずつカウンタを増やし、最終的に n 番目の数値が答えになります。

効率的な方法

効率的な方法は、最初に合計が偶数の開始番号を確認し、パターンを検索して答えを見つけることです。和が偶数である最初の 20 の数字は、2、4、6、8、11、13、15、17、19、20、22、24、26、28、31、33、35、37、39、40 です。これらの最初の 20 個の数値を観察すると、n の 1 桁が 0 ~ 4 の場合、n 番目の数値は 2*n になり、n 番目の数値が 5 ~ 9 の場合、n 番目の数値は 2* になることがわかります。 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 などの他の言語で書くことができます。この記事がお役に立てば幸いです。

以上がC++ を使用して、桁の合計が偶数となる数値を見つけるプログラムを作成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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