Lang:G++
Edit123456789101112131415161718192021222324#include <iostream>#include <cstring>#include <cmath>using namespace std;int n, m, f[14];void dfs(int cur) {if (cur == n + 1) {for (int i = 1; i <= n; ++i) putchar(f[i] + '0');puts("");return;}for (int i = 0; i <= m; ++i) {if (cur == 1 && i == 0) continue;if (cur > 1 && i * f[cur - 1] > m) break;f[cur] = i;dfs(cur + 1);}}int main() {scanf("%d%d", &n, &m);dfs(1);return 0;}