题解 1095: The 3n + 1 problem

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

The 3n + 1 problem -题解(C++代码)

是数据水了还是我理解错了QAQ以为会有$1-10^6$这种数据思路是求出$1-10^6$所有数的循环长度再用线段树查询开1e6会爆空间淦果然是我想麻烦了```#include#include#include#includeusingnamespacestd;constintN=1e5+10,

The 3n + 1 problem -题解(C++代码)超详细注释

题意:在[l,r]中找到3n+1猜想最大步数的数字解题思路:在[l,r]中枚举每个数字,每次枚举完都更新最大值注意事项:给出的两个数字大的在前小的在后时,交换一下便于处理参考代码:#includeusingnamespacestd;intmain(){intl,

简洁明了的代码(C++)

解题思路:按照题意模拟就行。题意大概是给两个数i,j,然后要求出[i,j]中满足:当前数是奇数,将当前数*3+1,当前数是偶数,将当前数/2最后等于1的最大操作数。注意事项:注意i,j大小,如果i>j,要将其互换参考代码:#include#include#inclu

The 3n + 1 problem -题解(C++代码)

题目的意思是找出从i到j中哪一个数的循环次数最多并输出它的次数注意点:(1)将i和j排序(2)排序后输出的仍要是ij,即顺序不能变。```cpp#includeusingnamespacestd;intcyclelen(intnum)//循环函数返回循环次数{intt=1;do{if(num%2==0

The 3n + 1 problem -题解(C++代码)

#思路通过输入获得n1,n2;比较n1,n2的大小;使用for循环获得两数中循环次数的最大值,并输出。再将前面的放进循环中。#心得1.可以使用cin作为while的判断条件。例如:while(cin>>n1>>n2)2.做题时要细心,注意一些细节问题,

The 3n + 1 problem -题解(C++代码)

#include#include#includeusingnamespacestd;intmain(){intn1,n2,i,j,sum,max=0;//max为最大循环长度,sum为每位数字的循环长度,while(~scanf("%d%d",&n1,&n2)){cout

**你是不是也错了33%!?**

摘要::sweat_smile:杭电题的细节要求绝对是top,***注意题目上并没有说i>j。错33%就在这错着。*** ```cpp #include using namespace std; t……

The 3n + 1 problem (C++代码)

#还在为那33%发愁吗??注意i和j的大小关系!#includeusingnamespacestd;intbase(longn)//基础函数,用于判断奇偶,便于递归调用{if(n%2==0){returnn/2;}elsereturnn*3+1;}intmax(inti,