首頁 >後端開發 >C++ >使用C++編寫一個找到數字的程序,其數字的各位數總和為偶數的程序

使用C++編寫一個找到數字的程序,其數字的各位數總和為偶數的程序

WBOY
WBOY轉載
2023-08-28 23:49:071309瀏覽

使用C++編寫一個找到數字的程序,其數字的各位數總和為偶數的程序

能被2整除的整數是偶數。因此在本文中,我們給定了一個數n,我們需要找出第n個數字,其數字總和為偶數。前五個數字的數字和為偶數的數分別是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

尋找解決方案的方法

現在您將了解兩種不同的方法來找到給定問題的解決方案。

樸素方法

找到第n個數字的簡單方法是從1開始遍歷數字,並檢查每個數字的數字總和是否為偶數;如果是,則將計數器增加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;
}

Output

nth Number with even sum of digits: 26

上述程式碼的解釋

  • 找到最後一位數字,並檢查它是否在0到4之間;如果是,則將2*n儲存為結果變數的答案。
  • 否則,檢查最後一位數字是否在5到9之間;如果是,則將2*n 1儲存為結果變數的答案。
  • 列印結果變數中儲存的具有偶數位數和的第n個數字。

結論

在本文中,我們討論了找到具有偶數位數和的第n個數字的問題,我們可以用兩種方法解決這個問題,這在本文中有所介紹。我們也編寫了一個C 程式碼來解決同樣的問題。我們可以用其他語言如C、Java、Python等來寫這個程式碼。希望您會發現本文有幫助。

以上是使用C++編寫一個找到數字的程序,其數字的各位數總和為偶數的程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除