问题无法用文字写,不知道为什么,总说禁止重复输入同样的词汇或符号,用个图片代替吧,如下:
// 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就行