问题标题: 酷町堂:1798

0
0
已解决
夏义博
夏义博
初级守护
初级守护
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a,s=0;
	cin>>a;
	while(a!=1)
	{
		if(a%2==0)
		{
			a=a/2;
			s++;
		}
		if(a%2==1)
		{	
			a=a*3+1;
			s++;
		}
	} 
	cout<<s;
	return 0;
}

为什么输出不了

夏义博在2019-01-21 20:48:45追加了内容

不知道为什么

夏义博在2019-01-22 12:13:13追加了内容

等待程老师来解答

 

 

 

 

 

 

他在和我聊qq的时候给我找到了错

 

 

 

 

死循环


0
已采纳
金一铭
金一铭
新手光能
新手光能

你的计数器加一要放在每个数字处理的前面,还要判断是否有一的情况

0
宫西诚
宫西诚
修练者
修练者

写这种题目最好用if ()

                            else if()

    while(a!=1)
    {
        if(a%2==1)
        {
            a=a*3+1;
            b++;
        }
        else
        {
            a=a/2;
            b++;
        }
    }
    cout<<b;

                           

0
我要回答