通過遞歸打印組合

 

void PrintNum(int nNum, std::vector<int>& vecNums);
void PrintNumOut(int nNum)
{
    std::vector<int> vecNums{ 0,0,0,0 };
    PrintNum(nNum, vecNums);
}


void PrintNum(int nNum, std::vector<int> &vecNums)
{
    //std::cout << nNum << std::endl;
    if (nNum <= 0)
    {
        for (auto itr:vecNums)
        {
            std::cout << itr << " ";
        }
        std::cout << std::endl;
        return;
    }
    for (int i = 0; i <2; ++i)
    {
        vecNums[nNum - 1] = i;
        PrintNum(nNum - 1, vecNums);
    }
}

 運行結果如下圖:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章