题解 1095: The 3n + 1 problem

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

筛选

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++代码)

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

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

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

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

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

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

#1095:The3n+1problem**起初忽略了begin与end的大小比较,因此答案出现了错误。******##插入代码-```c#includeintmain(){intbegin,end,i,j,cout,q,temp,flag=0;while(scanf("%d%d",

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

##解题思路:根据题意可以知道输入两个数,输出这两个数以及这两个数之间有多少个数满足如下条件,偶数的时候除以2,为奇数的时候乘三加一直到这个数为一停止,最后输出中间有多少数。##注意事项:两个数输入位置可能是一大一小,需要进行交换。##参考代码:```#includeintf(intn){intsum

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

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

满分-题解(C语言代码)

```c#include#include#includelongway=1;intdfs(longlongnum){way++;if(num==1){return0;}if(num%2==0){dfs(num/2);}else{dfs(num*3+1);}return1;}voidmain(){lon