> 백엔드 개발 > C++ > C++를 사용하여 자릿수의 합이 짝수인 숫자를 찾는 프로그램을 작성하세요.

C++를 사용하여 자릿수의 합이 짝수인 숫자를 찾는 프로그램을 작성하세요.

WBOY
풀어 주다: 2023-08-28 23:49:07
앞으로
1328명이 탐색했습니다.

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
로그인 후 복사

해결책을 찾는 방법

이제 주어진 문제에 대한 해결책을 찾는 두 가지 다른 방법에 대해 배우게 됩니다.

순진한 방법

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. 숫자는 (2*n+1)입니다.

Example

#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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿