枚举:给全排列限定条件
假如我们要求 abc + def = ghi abcdefghi 均为数字,且各不相同,求符合条件的式子
- 可以用9个for…
- 通过递归回溯来 枚举 然后在结束的时候判断一下…
// CreateTime: 2015-04-07 23:26:57 #include <iostream> using namespace std; int a[10]; int v[10]; void dfs(int n) { if (n == 10) { if (a[1]*100+a[2]*10+a[3] + a[4]*100+a[5]*10+a[6] == a[7]*100+a[8]*10+a[9]) { for (int i = 1; i <= 9; i++) { cout << a[i]; } cout << endl; } return; } for (int i = 1; i <= 9; i++) { if (!v[i]) { v[i] = 1; a[n] = i; dfs(n+1); v[i] = 0; } } } int main(void) { dfs(1); return 0; }