PKU 1207 The 3n + 1 problem
来源:互联网 发布:vmware 教程 网络 编辑:程序博客网 时间:2024/06/05 00:36
Description
Consider the following algorithm:
1. input n2. print n3. if n = 1 then STOP4. if n is odd then n <-- 3n+15. else n <-- n/26. GOTO 2
Given the input 22, the following sequence of numbers will be printed 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
It is conjectured that the algorithm above will terminate (when a 1 is printed) for any integral input value. Despite the simplicity of the algorithm, it is unknown whether this conjecture is true. It has been verified, however, for all integers n such that 0 < n < 1,000,000 (and, in fact, for many more numbers than this.)
Given an input n, it is possible to determine the number of numbers printed before the 1 is printed. For a given n this is called the cycle-length of n. In the example above, the cycle length of 22 is 16.
For any two numbers i and j you are to determine the maximum cycle length over all numbers between i and j.
Input
You should process all pairs of integers and for each pair determine the maximum cycle length over all integers between and including i and j.
Output
Sample Input
1 10100 200201 210900 1000
Sample Output
1 10 20100 200 125201 210 89900 1000 174
题目很简单,但一定要注意到输入的两个数有可能前面的数比后面的数大,这里是细节,如果大了,则要换一下,输出的时候又要换回来。
#include<iostream>
using namespace std;
int main(void)
{
int a,b;
int t;
int flag=0;
while(cin>>a>>b)
{
if(a>b)
{
int temp=a;
a=b;
b=temp;
flag=1;
}
int max=0;
for(int i=a; i<=b; i++)
{
t=i;
int ans=1;
while(t>1)
{
if(t%2==0)
{
t/=2;
}
else
{
t=3*t+1;
}
ans=ans+1;
}
if(ans>max)
{
max=ans;
}
}
if(flag==1)
{
cout<<b<<" "<<a<<" "<<max<<endl;
}
else
{
cout<<a<<" "<<b<<" "<<max<<endl;
}
}
return 0;
}
- PKU 1207 The 3n + 1 problem
- pku 1207 The 3n + 1 problem
- PKU 1207 The 3n + 1 problem
- The 3n + 1 problem(PKU 1207)
- Pku oj 1207 The 3n + 1 problem(模拟)
- poj 1207 The 3n + 1 problem
- POJ 1207 The 3n + 1 problem
- poj 1207 The 3n + 1 problem
- 1207 The 3n + 1 problem
- POJ 1207 The 3n + 1 problem
- poj 1207 The 3n + 1 problem
- POJ 1207 - The 3n + 1 problem
- POJ 1207 The 3n + 1 problem
- POJ 1207 The 3n + 1 problem
- The 3n+1 problem POJ 1207
- POJ 1207 The 3n + 1 problem
- OpenJudge - 1207:The 3n + 1 problem
- POJ 1207: The 3n+1 problem
- Tesseract-OCR引擎 入门
- NLP工具集
- MATLAB将视频保存为MAT类型
- ABAP "FOR ALL ENTRIES IN" 使用指南
- asp.net对XML的操作
- PKU 1207 The 3n + 1 problem
- v4l2 编程接口 — driver
- Tomcat第五讲
- 如何修改工程中的JRE system library
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- Oracle常用经典SQL查询
- list 、set 、map 粗浅性能对比分析
- Java 学习笔记
- 关于使用READ TABLE语句的几点注意事项