不完全な安全プランを証明し、両手法、ベクトル出力

理由:出力の出力は、いくつかの余分なものになるときallRes列にallResはそう、最初のres一backで同定されているときので、とき出力に対処するのは難しいです

書式#include <iostreamの> 
の#include " アルゴリズム"  
の#include " cmath " 
の#include " 文字列" 
の#include <ベクトル> 
 使用して 名前空間はstdを、

INT のmain()
{ 
        int型の合計= 200 
        
        ベクトル <ベクトル< int型 >> allRes。
        INT phigh = 2、プラウ= 1 
         
        一方、(phigh> プラウ){
             int型 CUR =(phigh +プラウ)*(phigh -プラウ+ 1)/2 ;
            もし(CUR < 合計)
                phigh ++ ; 
             
            もし(CUR == 合計){ 
                ベクトル < INT > RES。
                以下のためにint型 ; I <= phigh I ++はI =プラウ
                    res.push_back(I)。
                allRes.push_back(RES)。
                耕す ++ ;
                // 。ベクトル<整数>()スワップ(RES)。

    res.clear(); 
    } 
             
            場合(CUR> 和)
                プラウ ++ 
        }
//         用(ベクトル<ベクトル<整数>> ::それはallRes.beginを()=イテレータ、それ= allRes.end();!それ++){エラーCOUT
 //             coutの<< *それ<<てendl;
//         } 
        のためのint型 I = 0を私は++; iがallRes.size()<){ // 右COUT 
        のためのINT J = 0 ; J <allResが[ 0 ] .sizeを(); J ++ ){ 
            COUT << allRes [I] [J] << "  " ; 
        } COUT << ' の\ n ' ; 
    } 
}

出力のより良好な制御を有する代替的に直接、二次元アレイ

書式#include <iostreamの> 
の#include " アルゴリズム"  
の#include " cmath " 
の#include " 文字列" 
の#include <ベクトル> 
 使用して 名前空間はstdを、

INT のmain()
{ 
        int型の合計= 200 
        
        INT allRes [ 100 ] [ 100 ] = { 0 }。
        INT phigh = 2、プラウ= 1 int型、T = 0 ; 
        一方、(phigh> プラウ){
            INT CUR =(phigh +プラウ)*(phigh -プラウ+ 1)/ 2 もし(CUR < 合計)
                phigh ++ ; 
             
            もし(CUR == 合計){    
                 ためINT ; J <= phigh; J ++ J =プラウ){ 
                allRes [T] [J -plow] = J。    
                } T ++ 
                耕す ++ ;
                // 。ベクトル<整数>()スワップ(RES)。

    // res.clear(); 
    } 
             
            であれば(CUR> 和)
                プラウ ++; 
        } 
//         (ベクトル<ベクトル<整数>> ::それはallRes.begin()=イテレータ、それ= allRes.end();!それ++)について{エラーCOUT
 //             coutの<< *それ<<てendl;
//         } 
        int型の F = 1 以下のためにint型 iは= 0 ; iは< 100 ; iは++){ // 右COUT 
        場合(== fは0破りますint型 J = 0 ; J < 100 ; J ++ ){
             場合(allRes [I] [ 0 ] == 0 ){
                F= 0 ; 破ります; 
            } 
            もし(allRes [I] [J])
            COUT << allRes [I] [J] << "  " 
            
        } COUT << ' の\ n ' ; 
    } 
}

 

おすすめ

転載: www.cnblogs.com/cstdio1/p/11243441.html