问一个嵌套循环的简写问题

问题无法用文字写,不知道为什么,总说禁止重复输入同样的词汇或符号,用个图片代替吧,如下:

img


// caimi4.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <algorithm>
#include <vector>
using namespace std;

// n列数   m每位最大数
void myloop(int n, int m)
{
    vector<int> vec;
    vec.reserve(n);
    int iTemp = 0;
    int iLoopm = m;
    for (int i = 0; i < pow(m,n); i++)
    {
        for (int j = 1; j <= n; j++)
        {
            int iTempGe = 0;
            if (j==1)
            {
                iTempGe = i % m;
            }
            else
            {
                iTempGe = (int)(i / pow(m, j-1)) % (int)pow(m, j-1);
            }
            if (iTempGe >= 10)
            {
                iTempGe = iTempGe % 10;
            }
            vec.push_back(iTempGe);
        }
        for (int k = n-1; k >=0; k--)
        {
            printf("%d ", vec[k]);
        }
        printf("\n");
        vec.clear();
    }
}



int _tmain(int argc, _TCHAR* argv[])
{

    myloop(4, 10);

    return 0;
}


可以考虑用一个数组保存i1到in,相当于一个n位数。每次给这个n位数+1就行