HDU1032-The 3n + 1 problem-水题压惊
2015-10-30 21:21
316 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1032
好吧,好久没有写题 了,,,,话说明天要月赛,所以毫不犹豫的刷一道超级大水题压压惊。。。15级的实在是太厉害了。。。希望明天不要太丢人。。
题目就是问你一个区间,按照他的步骤来就好了,不过话说这个题目有一个坑点就是i,j的大小并不一定是i>j。说好的压惊却WA了两次。。。。真的是丢人啊。。。
看代码吧。。。
#include<iostream>
using namespace std;
int get(int i)
{
int cnt=1;
while(i!=1){
if(i&1){
i=3*i+1;
}else{
i/=2;
}
cnt++;
}
return cnt;
}
int main()
{
int a,b;
cin.sync_with_stdio(false);
while(cin>>a>>b){
int aa=a,bb=b;
if(a>b) aa=b,bb=a;
int Max=-1;
cout<<a<<' '<<b<<' ';
for(int i=aa;i<=bb;i++){
int tmp=get(i);
Max=Max>tmp?Max:tmp;
}
cout<<Max<<endl;
}
return 0;
}
好吧,好久没有写题 了,,,,话说明天要月赛,所以毫不犹豫的刷一道超级大水题压压惊。。。15级的实在是太厉害了。。。希望明天不要太丢人。。
题目就是问你一个区间,按照他的步骤来就好了,不过话说这个题目有一个坑点就是i,j的大小并不一定是i>j。说好的压惊却WA了两次。。。。真的是丢人啊。。。
看代码吧。。。
#include<iostream>
using namespace std;
int get(int i)
{
int cnt=1;
while(i!=1){
if(i&1){
i=3*i+1;
}else{
i/=2;
}
cnt++;
}
return cnt;
}
int main()
{
int a,b;
cin.sync_with_stdio(false);
while(cin>>a>>b){
int aa=a,bb=b;
if(a>b) aa=b,bb=a;
int Max=-1;
cout<<a<<' '<<b<<' ';
for(int i=aa;i<=bb;i++){
int tmp=get(i);
Max=Max>tmp?Max:tmp;
}
cout<<Max<<endl;
}
return 0;
}
相关文章推荐
- HDU 5240 Exam (好水的题)
- 北大—1006——Biorhythms
- 时间计算(heaven.pas/cpp)
- 工作依赖(job.cpp/pas)
- 题目 英雄 (BFS)
- kmp 学习 hihocoder #1015
- HDU 1096 A+B for Input-Output Practice (VIII)
- P1478
- P1035
- P1008 难度2.7
- 2020 绝对值排序
- 2021 发工资咯
- 2022 海选女主角
- 2024 C语言合法标识符
- 2025 查找最大元素
- 2026 首字母变大写
- 2027 统计元音
- 2028 Lowest Common Multiple Plus
- 2018 母牛的故事
- 2023 求平均成绩