#include #include int ans = 0; int nums[10]; bool visited[10]; void judge() { int i; if (nums[0] + (double)nums[1] / nums[2] + (double)(nums[3] * 100 + nums[4] * 10 + nums[5]) / (nums[6] * 100 + nums[7] * 10 + nums[8]) == 10) { printf("%d + %d/%d + %d%d%d/%d%d%d", nums[0], nums[1], nums[2], nums[3], nums[4], nums[5], nums[6], nums[7], nums[8]); printf("\n"); ans++; } } void dfs(int index) { if (index >= 9) { judge(); return; } int i; for (i = 1; i < 10; i++) { if (visited[i] == false) { visited[i] = true; nums[index] = i; dfs(index + 1); visited[i] = false; } } } int main() { dfs(0); printf("%d\n", ans); return 0; }