123456789=100
哪位高手可以用算法帮我实现:123456789=100在等式左边任意插入“+”或“—”使等式成立。
#include <stdio.h> char sign[9]; int res; void search(int pos) { int val, i; if(pos == 10) { if(res == 100) { for(i=0; i<9; ++i) { if(sign[i]) printf("%c", sign[i]); printf("%d", i+1); } printf("=100\n"); } } else { val = 0; for(i=pos; i<10; ++i) { val += i; res += val; sign[pos-1] = '+'; search(i + 1); res -= val; res -= val; sign[pos-1] = '-'; search(i + 1); res += val; val *= 10; sign[i] = 0; } } } int main() { res = 0; search(1); return 0; }