7-1 冰雹猜想

2023-12-21 16:10:00

冰雹猜想的内容是:任何一个大于1的整数n,按照n为偶数则除等2,n为奇数则乘3后再加1的规则不断变化,最终都可以变化为1。

例如,n等于20,变化过程为:20、10、5、16、8、4、2、1。编写程序,用户输入n,输出变化过程以及变化的次数。

输入格式:

请在这里写输入格式。例如:输入整数n。

输出格式:

请在这里描述输出格式。例如:输出猜想的过程及变化次数。

输入样例:

在这里给出一组输入。例如:

20

输出样例:

在这里给出相应的输出。例如:

20 10 5 16 8 4 2 1
count = 8

代码示例:?

#include<iostream>
using namespace std;
int main(){
    int n;
    int count =1;
    cin>>n;
    cout<<n;
    while(n>1){
        if(n%2==0){
            n=n/2;
            cout<<' '<<n;
                count++;
        }
        else{
            n=(n*3)+1;
            cout<<' '<<n;
            count++;
        }
    }
    cout<<'\n'<<"count = "<<count;
}

代码思路:?

首先从用户输入获取一个正整数n,并将其直接输出。

然后定义一个变量count,用来记录变换的次数,初始值为1(1代表的就是第一个输出的n)。

接着,使用一个while循环,当n不等于1时,继续执行冰雹猜想的规则:

在循环中,判断n的奇偶性。

如果是偶数,就将n除以2;

如果是奇数,就将n乘以3再加1。

同时,将变换后的n输出,并将count加1,记录变换的次数。

最后当循环结束时,按照格式输出变换的总次数count。

文章来源:https://blog.csdn.net/IKUNIKUNIKUNikun/article/details/135129126
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。