卡拉兹(Callatz)猜想:(3n+1)

年幼的刻耳柏洛斯 2019-04-24 09:01:38

#include <iostream>
using namespace std;

int main(){
int n;
int count=0;

cin>>n;
if(n>0&&n<=1000){

do{
if(n%2==0)
n/=2;
else if(n%2==1)
n=(3*n+1)/2;

count ++;
}while(n!=1);
}

cout<<count;

return 0;

}


求问上面我写的代码为什么会有一个测试案例不通过呢?
是哪个边界问题没有考虑到么?
...全文
281 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
明白了,不该用do-while的 ,3Q!
636f6c696e 2019-04-24
  • 打赏
  • 举报
回复
n=1时输出应该是0吧

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧