从 1到50,挑出5个数,使它们的和为100。
比如 1 + 2 + 20 + 37 + 40 = 100
void
func()
{
int mm = 0 ;
for ( int i = 1 ; i < 51 ; ++ i)
{
if ( 5 * i + 10 > 100 )
goto End;
for ( int j = i + 1 ; j < 51 ; j ++ )
{
if (i + 6 + 4 * j > 100 )
break ;
for ( int k = j + 1 ; k < 51 ; k ++ )
{
if (i + j + k + k + k + 3 > 100 )
break ;
for ( int v = k + 1 ; v < 51 ; v ++ )
{
if (i + j + k + v + v + 1 > 100 )
break ;
for ( int u = v + 1 ; u < 51 ; u ++ )
{
int ss = i + j + k + v + u;
if (ss == 100 )
{
// we find one
mm ++ ;
break ;
}
}
}
}
}
}
End:
}
{
int mm = 0 ;
for ( int i = 1 ; i < 51 ; ++ i)
{
if ( 5 * i + 10 > 100 )
goto End;
for ( int j = i + 1 ; j < 51 ; j ++ )
{
if (i + 6 + 4 * j > 100 )
break ;
for ( int k = j + 1 ; k < 51 ; k ++ )
{
if (i + j + k + k + k + 3 > 100 )
break ;
for ( int v = k + 1 ; v < 51 ; v ++ )
{
if (i + j + k + v + v + 1 > 100 )
break ;
for ( int u = v + 1 ; u < 51 ; u ++ )
{
int ss = i + j + k + v + u;
if (ss == 100 )
{
// we find one
mm ++ ;
break ;
}
}
}
}
}
}
End:
}