一个算法的C#实现

    技术2022-05-11  88

    从 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:    }

     

     

     

     


    最新回复(0)