给你 $n$ 根火柴棍,你可以拼出多少个形如 $A+B=C$ 的等式?等式中的 $A$、$B$、$C$ 是用火柴棍拼出的整数(若该数非零,则最高位不能是 $0$)。用火柴棍拼数字 $0\sim9$ 的拼法如图所示:
注意:
输入含多组输入数据(不超过 $10$ 组),每组一行一个整数 $n(1 \leq n\leq 24)$。
对于每组数据,输出一个整数,能拼成的不同等式的数目。每组数据之间用换行隔开。
14
18
2
9
#include<stdio.h>
int a[10]={6,2,5,5,4,5,6,3,7,6};
int stick(int i)
{
int rs=0,k;
while(i)
{
k=i%10;
rs+=a[k];
i/=10;
}
return rs;
}
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF)
{
n-=4;
int cnt=0;
for(i=1;i<=1000;i++)
{
for(int j=i;j<=1000;j++)
{
if(stick(i)+stick(j)+stick(i+j)==n);
{
cnt++;
}
}
}
printf("%d\n",cnt);
}
return 0;
}
Author: Clay17