Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm số có tổng chữ số chẵn bằng C ++

Số nguyên có thể chia hết cho 2 là số chẵn. Vì vậy, trong bài này chúng ta được cho số n, và chúng ta cần tìm số thứ n có tổng các chữ số chẵn. Năm số đầu tiên có tổng các chữ số chẵn là 2, 4, 6, 8 và 11. Ví dụ -

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

Phương pháp tiếp cận để tìm ra giải pháp

Bây giờ bạn sẽ biết về hai quy trình khác nhau để tìm ra giải pháp cho một vấn đề nhất định.

Cách tiếp cận ngây thơ

Một giải pháp đơn giản để tìm số thứ n trước tiên là duyệt qua các số bắt đầu từ một và kiểm tra từng số nếu tổng các chữ số của nó là chẵn; nếu có, sau đó tăng bộ đếm lên một cho đến khi giá trị của bộ đếm trở nên bằng n và cuối cùng số thứ n đó sẽ là câu trả lời.

Phương pháp tiếp cận hiệu quả

Một cách tiếp cận hiệu quả để tìm số thứ n là trước tiên kiểm tra các số bắt đầu bằng tổng chẵn và tìm kiếm một mẫu để tìm câu trả lời. 20 số đầu tiên có tổng chẵn là 2, 4, 6, 8, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 31, 33, 35, 37, 39 và 40. Nhìn vào 20 số đầu tiên này, chúng tôi nhận thấy rằng nếu chữ số cuối cùng của n nằm trong khoảng từ 0 đến 4, thì số thứ n sẽ là 2 * n, Và nếu số thứ n nằm trong khoảng từ 5 đến 9, thì số thứ n sẽ là (2 * n + 1).

Ví dụ

#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;
}

Đầu ra

nth Number with even sum of digits: 26

Giải thích về đoạn mã trên

  • Tìm chữ số cuối cùng và kiểm tra xem nó có nằm trong khoảng từ 0 đến 4 hay không; nếu có, hãy lưu trữ 2 * n dưới dạng một câu trả lời trong biến kết quả.
  • Nếu không, hãy kiểm tra xem chữ số cuối cùng có nằm trong khoảng từ 5 đến 9 hay không; nếu có, hãy lưu trữ 2 * n + 1 dưới dạng câu trả lời trong biến kết quả.
  • In số thứ n với tổng các chữ số chẵn được lưu trữ trong biến kết quả.

Kết luận

Trong bài viết này, chúng ta đã thảo luận về việc tìm một số thứ n có tổng các chữ số chẵn, nơi chúng ta có thể giải quyết vấn đề này theo hai cách mà chúng ta hiểu trong bài viết này. Chúng tôi cũng viết mã C ++ để tạo chương trình giải quyết vấn đề tương tự. Chúng tôi có thể viết mã này bằng các ngôn ngữ khác như C, java, python, v.v. Hy vọng bạn thấy bài viết này hữu ích.