题解 1095: The 3n + 1 problem

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

筛选

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

本来这题不想写题解的,当时看到正确率只有百分之28,我绝对有必要写一下。这题一般人不想做的原因是:这么特么是英文的,看个毛线,下一题。但是这题其实不难,逻辑也不强啦。**题意**:求指定区间内,对应数字变为1的变化次数最长的次数是多少。变化规则是如果这个数是偶数,

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

#功能代码很短,模块化思想,容易懂注意事项:1.数字的最大范围是1000000(一百万),注意不要超出了范围2.要一开始就输出原先输入的值(题目要求)3.每次测试的测试值需要初始化下面是主代码:```c#includeintlength(longintn);intmain(intargc,

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语言代码)

```cpp#includeusingnamespacestd;intf(intn){//如果是偶数,/2//如果是奇数,*3+1//如果==1,退出intsum=1;while(1){if(n==1||n==0){break;}if(n%2==0){n=n/2;}else{n=3*n+1;}sum+

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

摘要: 1、需要对 a b的大小进行判断,测试数据里面有a>b的情况,真是无语了,坑 2、先用一个数组,接收全部的整数。 本身不是很难,就是麻烦 #include ……

The 3n + 1 problem (Java描述,简单)

核心算法就是递归了,首先用一个数组储存i~j之间的数,然后递归得出每一个数对应的情况,再对数组得出最大的数,为了让程序不会超时,我对时间与空间进行了平衡,不是最优的,但是可以AC,三目运算符降低空间复杂度,递归降低时间复杂度,第一次运行程序的时候没有考虑到i>j的情况会导致数组出问题,

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

##刚开始没注意到一个坑,所以一直提示33%不通过;`importjava.util.Scanner;publicclassMain{publicstaticintzc(intn){ints=1;while(n!=1){if(n%2==0){n/=2;s++;}else{n=n*3+1;s++;}}r

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

####这里有一个坑:i、j的大小关系不确定#####所以如果程序没有判断i、j的大小关系的话,会报NegativeArraySizeException异常importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args