21xrx.com
2024-11-08 21:18:32 Friday
登录
文章检索 我的文章 写文章
C++验证3n+1问题
2023-07-04 21:09:54 深夜i     --     --
C++ 验证 3n+1问题 算法分析 编程实现

3n+1问题是指对于任意正整数n,若n为偶数,则将其除以2,若n为奇数,则将其乘以3后再加1,得到的结果再按照相同规则进行计算,直至结果为1为止。这个问题在数学界内广受研究,而在计算机领域中,我们可以用C++语言来进行验证。

首先,我们要先明确验证的思路。对于每一个输入的n值,我们要不断循环进行操作,直至结果为1。这样就需要用到循环语句while。另外,我们还需要判断每次计算后得到的结果是奇数还是偶数,然后进行相应的计算。

具体实现时,我们可以按照如下代码来验证3n+1问题:


#include <iostream>

using namespace std;

int main() {

  int n;

  cin >> n;

  while (n != 1) {

    if (n % 2 == 0)

      n = n / 2;

     else {

      n = 3 * n + 1;

    }

    cout << n << endl;

  }

  return 0;

}

我们可以通过输入不同的n值,来看一下程序输出的结果。比如,当n=10时,程序的输出结果如下:


5

16

8

4

2

1

我们可以清晰地看到,输入的10最终按照3n+1规则计算后,结果最终为1。

实际上,很多数学家都在研究3n+1问题,目前这个问题还没有被完全解决。但通过C++语言的验证,我们可以更加深入地了解这个问题的规则,更好地理解数学领域内的研究成果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复