问题:给你n(n≤24)根火柴棒,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棒拼出的整数(若该数非零,则最高位不能是0)。用火柴棒拼数字0-9的拼法如图所示:
注意:
- 加号与等号各自需要两根火柴棒
- 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)
- n根火柴棒必须全部用上
输入样例:20
输出样例:39
#include#include using namespace std; int match(int p); int x[10]={6,2,5,5,4,5,6,3,7,6}; int main() { int n,s=0,b,c,d; scanf("%d",&n); for(int i=0;i<=1000;i++) { d=match(i); for(int j=0;j<=1000;j++) { b=match(j); c=match(i+j); if(d+b+c==n-4) { s+=1; } } } cout< =0) { a+=x[p%10]; p/=10; if(p==0) p-=1; } return a; }



