角谷猜想c语言编程

角谷猜想,也称为 Collatz 猜想,是一个未解的数学问题。这个猜想的内容是这样的:

给定一个正整数 n,如果 n 是偶数,那么把它除以 2,否则把它乘以 3 再加上 1。对于每次操作后得到的结果,重复上述操作。例如,对于 n = 6,依次得到的结果为 6、3、10、5、16、8、4、2、1。猜想无论初始的 n 是多少,经过若干次上述操作后,最终都能得到 1。

下面是用 C 语言实现角谷猜想的代码:

  1. #include <stdio.h>
  2. int main() {
  3.     int n;
  4.     printf("请输入一个正整数:");
  5.     scanf("%d", &n);
  6.     while (n != 1) {
  7.         printf("%d ", n);
  8.         if (n % 2 == 0) {
  9.             n /= 2;
  10.         } else {
  11.             n = n * 3 + 1;
  12.         }
  13.     }
  14.     printf("1\n");
  15.     return 0;
  16. }

在这个代码中,我们首先从用户输入中读取一个正整数 n,然后不断对 n 进行操作,直到最终得到 1。在每次操作时,我们输出当前的结果,并根据 n 的奇偶性选择下一步的操作。如果 n 是偶数,则除以 2;否则,乘以 3 再加上 1。最终输出得到 1 的结果。

以下是更详细的C语言实现角谷猜想的代码,包括注释说明:

  1. #include <stdio.h>
  2. int main() {
  3.     int n;
  4.     printf("请输入一个正整数:");
  5.     scanf("%d", &n);
  6.     // 循环直到 n 变成 1
  7.     while (n != 1) {
  8.         // 输出当前 n 的值
  9.         printf("%d ", n);
  10.         // 根据 n 的奇偶性选择操作
  11.         // 如果 n 是偶数,则除以 2
  12.         if (n % 2 == 0) {
  13.             n /= 2;
  14.         }
  15.         // 如果 n 是奇数,则乘以 3 再加上 1
  16.         else {
  17.             n = n * 3 + 1;
  18.         }
  19.     }
  20.     // 输出最终得到的结果为 1
  21.     printf("1\n");
  22.     return 0;
  23. }

运行程序后,输入一个正整数,程序将按照角谷猜想的规则不断对 n 进行操作,直到最终输出结果为 1。在每次操作时,程序会输出当前的结果,方便观察和验证。

好的,以下是更详细的C语言实现角谷猜想的代码,包括注释说明:

  1. #include <stdio.h>
  2. int main() {
  3.     int n;
  4.     printf("请输入一个正整数:");
  5.     scanf("%d", &n);
  6.     // 循环直到 n 变成 1
  7.     while (n != 1) {
  8.         // 输出当前 n 的值及其操作次数
  9.         printf("第 %d 次操作:%d\n", n, n);
  10.         // 根据 n 的奇偶性选择操作
  11.         // 如果 n 是偶数,则除以 2
  12.         if (n % 2 == 0) {
  13.             n /= 2;
  14.         }
  15.         // 如果 n 是奇数,则乘以 3 再加上 1
  16.         else {
  17.             n = n * 3 + 1;
  18.         }
  19.     }
  20.     // 输出最终得到的结果为 1
  21.     printf("最终得到的结果为:1\n");
  22.     return 0;
  23. }

在这个代码中,我们在每次操作时输出当前 n 的值及其操作次数,以便更好地观察和验证角谷猜想的规律。同时,我们也加入了最终得到的结果为 1 的输出,以方便确认程序是否正确运行。

猜你喜欢

转载自blog.csdn.net/jiazi1024/article/details/135099700