题目描述
计算机科学中的问题通常被归类为属于某一类问题(例如,NP,不可解,递归)。在这个问题中,您将分析算法的属性,该算法的分类对于所有可能的输入都是未知的。

考虑下面的算法:

1.输入n

2.输出n

3.如果n = 1,则停止

4.如果n是奇数,则n=3n + 1

5.否则n=n / 2

6.返回第2步

给定输入22,将输出以下序列的数字22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

据推测,使用上述算法任何输入值将终止(当输出1时)。尽管算法简单,但是不知道这个猜想是否为真。

然而,已经验证了所有整数n,使得0 <n <1,000,000(并且实际上,比这更多的数目也成立)。

给定输入n,可以确定输出的数字的数量(包括1)。对于给定的n,这被称为n的周期长度。在上面的例子中,22的周期长度为16。

对于任何两个数字i和j,您将确定i和j之间的所有数字的最大循环长度。

输入
输入将由一系列整数对i和j组成,每行一对整数。所有整数将小于1,000,000和大于0。

你应该处理所有的整数对,并且对每个对确定i和j之间的所有整数的最大循环长度。

您可以假设没有操作溢出32位整数。

输出
对于每对输入整数i和j,应输出i,j和i和j之间的整数的最大循环长度。这三个数字应该由至少一个空格分隔,一行上的所有三个数字和每行输入的一行输出。整数i和j必须以与它们在输入中出现的顺序相同的顺序出现在输出中,并且后跟最大循环长度(在同一行上)。

样例输入
1 10
100 200
201 210
900 1000
样例输出
1 10 20
100 200 125
201 210 89
900 1000 174

#include "iostream"
using namespace std;
int main()
{
int m,n,max,tmp,cnt;
while(cin >> m >> n)
{max = ;
for(int i=(m>n? n:m);i<=(m>n? m:n);++i)
{
tmp = i;
cnt = ;
while(tmp!=)
{
if(tmp%==) tmp = tmp/;
else tmp = tmp* + ;
cnt++;
}
(max < cnt? max=cnt : max = max);
}
cout << m << " " << n << " " << max << endl;
}
}

the prblem 3n+1的更多相关文章

  1. - > code vs 3038 3n+1问题(递归)

    3038 3n+1问题  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 白银 Silver 题解   题目描述 Description 3n+1问题是一个简单有趣而又没有解决的数 ...

  2. 害死人不偿命的(3n+1)猜想

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...

  3. 1001. 害死人不偿命的(3n+1)猜想 (15)

    1001. 害死人不偿命的(3n+1)猜想 (15) 较简单,直接代码实现: #include <cstdio> int main() { int n; scanf("%d&qu ...

  4. PAT 乙级 1005. 继续(3n+1)猜想 (25)

    1005. 继续(3n+1)猜想 (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B   卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情 ...

  5. 1293. 3n+1数链问题 2016 12 23

    /* 1293. 3n+1数链问题 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 在计算机科学上,有很多类问题是无法解 ...

  6. 3n+1b 备忘录方法

    题目详情 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数学家大会上公布了这个猜 ...

  7. PAT 1001. 害死人不偿命的(3n+1)猜想 (15)

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在1950年的世界 ...

  8. UVa 100 - The 3n + 1 problem(函数循环长度)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

  9. 烟大 Contest1024 - 《挑战编程》第一章:入门 Problem A: The 3n + 1 problem(水题)

    Problem A: The 3n + 1 problem Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 14  Solved: 6[Submit][St ...

随机推荐

  1. 去除input 在 webkit内核浏览器 选择历史时,有一个黄色背景

    input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; } http://www.imooc.com/arti ...

  2. 前端dom操作竟然使得http请求的时间延长了

    最近在项目中遇到了一个奇怪的问题:在google浏览器的调试窗口network下看到一个请求的时间一直是2s多,但是当我把这个请求单独拿出来执行的时候发现根本用不了2s,100多毫秒就完成了.最后再不 ...

  3. Codeforces Round #468 (Div. 2 )D. Peculiar apple-tree_BFS

    题目简单,不多解释. Code: #include<cstdio> #include<queue> using namespace std; const int maxn = ...

  4. Pyhton学习——Day51

    model(数据库模型)------ORM----- 表与表之间的关系(两张表) 一对多 多对多 一对一 ORM------object relation mapping python的类 class ...

  5. [置顶] openHAB 体系结构与编程模型 (2) --- Web Application Servlet 源码结构

    || || || || || || demo.items Group All Group gGF (All) Group gFF (All) Group gC (All) Group Outdoor ...

  6. 【洛谷4941】War2 状压Dp

    简单的状压DP,和NOIP2017 Day2 找宝藏 代码几乎一样.(比那个稍微简单一点) f[i][j] ,i代表点的状态,j是当前选择的点,枚举上一个选到的点k 然后从f[i-(1<< ...

  7. 页面关闭或刷新时触发javascript的事件

    当页面在关闭或刷新时提示 window.onbeforeunload(function(){ //判断是关闭还是刷新 1.满足关闭,否则是刷新 if(event.clientX>document ...

  8. idea 编辑器 光标问题!(insert键)

    今天写代码不小心按了键盘的insert键,光标莫名闪退了 ,重新打开的时候发现 光标变成了  按了insert 的效果  ,简直无语的要命啊! 这敲代码太恶心了!怒搜资料 结果找到了解决办法! 1.打 ...

  9. 基本配置及安全级别security-level

    interface GigabitEthernet0/0 nameif outside  //指定接口名称 security-level 0  //安全级别设置 ip address 1.1.1.2 ...

  10. 2.WHERE中使用=,>,>=,<,<=,<>,!=比较符号

        //查询工资大于等于2000的人   select * from person salary >= 2000;   //查询名字等于scott的人   select * from per ...