题解 UVA100 【The 3n + 1 problem】

Hemingway

2019-05-19 17:51:15

Solution

一道**比较坑**~~很简单~~的模拟题(角谷猜想) 坑点如下 1. i有可能大于j 2. 循环读入 ~~~cpp #include<algorithm> #include<iostream> #include<cstdio> using namespace std; int ans(int n) { if(n==1)return 1;//递归 else if(n%2==1)return 1+ans(3*n+1); else return 1+ans(n/2); } int main() { int i,j,vmax; while(cin>>i>>j)//读入 { vmax=-1; for(int k=min(i,j);k<=max(i,j);k++) { int tmp=ans(k); if(vmax<tmp)vmax=tmp; } cout<<i<<' '<<j<<' '<<vmax<<endl; } return 0; } ~~~