使用 C++ 查找数字和为偶数的数字

c++server side programmingprogramming

能被 2 完全整除的整数是偶数。因此,在本文中,我们给定数字 n,我们需要查找数字和为偶数的第 n 个数字。前五个数字之和为偶数的数字是 2、4、6、8 和 11。例如 −

输入:n = 5
输出:11
说明:前五个数字之和为偶数的数字是 2、4、6、8、11,即第 5 个数字是 11。

输入:12
输出:24

寻找解决方案的方法

现在您将了解两种不同的程序来寻找给定问题的解决方案。

朴素方法

寻找第 n 个数字的一​​个简单解决方案是首先从一开始遍历数字并检查每个数字的数字之和是否为偶数;如果是,则将计数器加一,直到计数器的值等于 n,最后第 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;
   // 查找 n 的最后一位数字
   int last_digit = n % 10;
   // 检查最后一位数字是否在 0 到 4 之间
   if (last_digit >= 0 && last_digit <= 4)
      result = 2 * n;
      // 检查最后一位数字是否在 5 到 9 之间
   else
      result = (2 * n) + 1;
   cout << &";第 n 个数字和为偶数:<< result;
   return 0;
}

输出

第 n 个数字和为偶数:26

上述代码的解释

  • 找到最后一位数字并检查它是否在 0 和 4 之间;如果是,则将 2*n 作为答案存储在结果变量中。
  • 否则,检查最后一位数字是否在 5 和 9 之间;如果是,则将 2*n + 1 作为答案存储在结果变量中。
  • 打印存储在结果变量中的第 n 个数字和为偶数的数字。

结论

在本文中,我们讨论了如何找到数字和为偶数的第 n 个数字,我们可以用本文中理解的两种方法解决这个问题。我们还编写了一个 C++ 代码来制作一个程序来解决同样的问题。我们可以用其他语言编写此代码,如 C、java、python 等。希望您觉得这篇文章有用。


相关文章