http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=show_problem&problem=635
题意:
输入数字A,分段函数处理。水
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
long long num, A, L;
long long iCase = 0;
while ( 1 )
{
cin >>num >>L;
A = num;
if ( A < 0 && L < 0 )
{
break;
} // end if
iCase++;
long long nTerm = 0;
while ( 1 )
{
if ( A > L )
{
break;
} // end if
else
{
nTerm++;
if ( A == 1 )
{
break;
} // end if
else
{
if ( A%2 == 0 )
{
A = A/2;
} // end if
else
{
A = 3*A+1;
} // end else
} // end else
} // end else
} // end while
cout <<"Case " <<iCase <<": A = " <<num
<<", limit = " <<L
<<", number of terms = " << nTerm
<<'\n';
} // end while
return 0;
}