OpenJudge/Poj 1207 The 3n + 1 problem
1.链接地址:
http://bailian.openjudge.cn/practice/1207/
http://poj.org/problem?id=1207
2.题目:
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- Problems in Computer Science are often classified as belonging to a certain class of problems (e.g., NP, Unsolvable, Recursive). In this problem you will be analyzing a property of an algorithm whose classification is not known for all possible inputs.
Consider the following algorithm:1. input n 2. print n 3. if n = 1 then STOP 4. if n is odd then n <-- 3n+1 5. else n <-- n/2 6. GOTO 2Given 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.
- 输入
- The input will consist of a series of pairs of integers i and j,
one pair of integers per line. All integers will be less than 10,000 and
greater than 0.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.- 输出
- For each pair of input integers i and j you should output i, j,
and the maximum cycle length for integers between and including i and j.
These three numbers should be separated by at least one space with all
three numbers on one line and with one line of output for each line of
input. The integers i and j must appear in the output in the same order
in which they appeared in the input and should be followed by the
maximum cycle length (on the same line).- 样例输入
1 10
100 200
201 210
900 1000- 样例输出
1 10 20
100 200 125
201 210 89
900 1000 174- 来源
- Duke Internet Programming Contest 1990,uva 100
3.思路:
4.代码:
#include "stdio.h"
//#include "stdlib.h"
#define N 1000002
int a[N];
int main()
{
int i,j,k,count,n,max,tmp;
while(scanf("%d%d",&i,&j) != EOF)
{
max=;
//if(j<i){tmp=j;j=i;i=tmp;}
if(i<j)
{
max=;
for(k=i;k<=j;k++)
{
if(a[k]>) count = a[k];
else
{ count=;
n=k;
while(n!=)
{
if(n%==) n=n/;
else n=*n+;
count++;
}
}
if(count>max) max=count;
}
}
else
{
for(k=j;k<=i;k++)
{
if(a[k] > ) count = a[k];
else
{ count=;
n=k;
while(n!=)
{
if(n%==) n=n/;
else n=*n+;
count++;
}
a[k] = count;
} if(count>max) max=count;
}
}
printf("%d %d %d\n",i,j,max);
}
//system("pause");
return ;
}
OpenJudge/Poj 1207 The 3n + 1 problem的更多相关文章
- The 3n + 1 problem 分类: POJ 2015-06-12 17:50 11人阅读 评论(0) 收藏
The 3n + 1 problem Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53927 Accepted: 17 ...
- UVa 100 - The 3n + 1 problem(函数循环长度)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- 烟大 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 ...
- uva----(100)The 3n + 1 problem
The 3n + 1 problem Background Problems in Computer Science are often classified as belonging to a ...
- 【转】UVa Problem 100 The 3n+1 problem (3n+1 问题)——(离线计算)
// The 3n+1 problem (3n+1 问题) // PC/UVa IDs: 110101/100, Popularity: A, Success rate: low Level: 1 / ...
- 100-The 3n + 1 problem
本文档下载 题目: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_pro ...
- PC/UVa 题号: 110101/100 The 3n+1 problem (3n+1 问题)
The 3n + 1 problem Background Problems in Computer Science are often classified as belonging to a ...
- UVA 100 - The 3n+1 problem (3n+1 问题)
100 - The 3n+1 problem (3n+1 问题) /* * 100 - The 3n+1 problem (3n+1 问题) * 作者 仪冰 * QQ 974817955 * * [问 ...
- classnull100 - The 3n + 1 problem
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 The 3n + 1 problem Background Problems in Computer Science are o ...
随机推荐
- java反射快速入门(一)
本文会从以下几个方面讲起 ① 反射的简单解释 ② java反射的API接口 及 demo ③ 反射的优缺点.应用场景 一.什么是反射? java反射:在程序运行中动态获取类的信息,及动态调用对象的方法 ...
- 将string转换成UTF8在进行请求
在请求服务器时,如果参数中带有中文字符.就会报参数格式错误,需要将其转换成UTF8 @interface NSString (NSURLUtilities) /* Adds all percent e ...
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 LCT
2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOn ...
- 戴尔笔记本win8.1+UEFI下安装Ubuntu14.04过程记录
瞎扯:笔记本刚买不久就想装ubuntu来着,但结果发现BIOS启动方式为UEFI,网上一搜索发现跟曾经的双系统安装方法不一样,看详细教程感觉相当复杂,并且也有点操心折腾跪了这新本本所以一直没有动手.但 ...
- 读写锁ReaderWriterLockSlim
读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁. 某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读 ...
- Ubuntu10.04下载并编译Android4.3源代码
注:转载或引用请标明出处 http://blog.csdn.net/luzhenrong45/article/details/9719433 去年用Ubuntu10.10成功下载并编译Andro ...
- linux中shell编程
shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...
- eclipse创建项目时出现appcompat_v7包及解决办法
Android开发学习总结(三)--appcompat_v7项目说明 一.appcompat_v7项目说明 今天来说一下appcompat_v7项目的问题,使用eclipse创建Android项目时, ...
- 从lambda到函数式编程
Object.send(:remove_const,'TRUE') Object.send(:remove_const,'FALSE') def to_integer(pro) pro[-> n ...
- webbreswer 转成ie11
http://zhidao.baidu.com/link?url=pvYg-Z5fjOaFHrpdxFSjrDqkaUpvc-tY5VwtLjd7bfmdG4T80i0Rqkkv1zcApZiIq6w ...