您的位置:首页 > 其它

1~9个数字组成的前i个数能被i组成

2015-07-28 19:54 309 查看

1~9的9个数字,每个数字只能出现一次,要求这样一个一个9位的整数:其第一位能被1整除,前两位能被2整除,前3位能被3整除.......依此类推,前9位能被9整除。

#include<stdio.h>

#include<vector>

using namespace std;

bool used[10];

vector <long long>v;

void dfs(int k, long long a)

{

if (k && a%k != 0)

return;

if (k == 9)

{

v.push_back(a);

return;

}

for (int i = 1; i <= 9; i++)

{

if (!used[i])

{

used[i] = 1;

dfs(k + 1, a * 10 + i);

used[i] = 0;

}

}

}

int main()

{

dfs(0, 0);

for (int i = 0; i < v.size(); i++)

printf("%lld", v[i]);

getchar();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: