0 /13 | Problem A | Sum(1.5.1) | |
11 /24 | Problem B | Ugly Numbers(1.5.8) | |
6 /15 | Problem C | 排列(1.5.9) | |
0 /4 | Problem D | Number Sequence(1.5.10) | |
10 /10 | Problem E | Speed Limit(2.1.1) | |
4 /7 | Problem F | Ride to School(2.1.2) | |
4 /12 | Problem G | Self Numbers(2.2.1) | |
7 /8 | Problem H | Gold Coins(2.4.1) | |
2 /12 | Problem I | The 3n + 1 problem(2.4.2) | |
Problem J |
#include <stdio.h>
using namespace std;
int main()
{
int i,j,m,n,max,min,max0,k;
while(scanf("%d%d",&m,&n)!=EOF)
{
max0=0;
if(m>n)//不一定是按大小顺序排列的,因此要判断下。
max=m,min=n;//排出大的跟小的
else
max=n,min=m;
for(i=min;i<=max;i++)//模拟过程
{
for(j=1,k=i;k>1;j++)//k到1的循环长度
{
if(k%2==0)
k/=2;
else
k=3*k+1;
}
if(max0<j)//找出一个最长的,输出
max0=j;
}
cout<<m<<" "<<n<<" "<<max0<<endl;
}
return 0;
}