分析:我们可以枚举等式,在判断这些等式是由多少根火柴组成,在把火柴数量和之前输入的比较,如果相等,那么就统计一次,注意的是等号和加号需要减去四根。
#include <stdio.h>
int f(int a){//判断某一个数字是由几根火柴组成的
int num[10]={6,2,5,5,4,5,6,3,7,6};
int sum=0;
if(a!=0){
while(a){
sum+=num[a%10];
a/=10;
}
return sum;
}
else{
return 6;
}
}
int main(){
int m,n,j,i,sum=0;
scanf("%d",&n);
for(i=0;i<1111;i++){//因为最大是由四个1组成,所以从1111开始枚举所以情况
for(j=0;j<1111;j++){
m=i+j;
if((f(i)+f(j)+f(m)+4)==n){//加上等号和加号消耗的四根火柴
sum++;
}
}
}
printf("%d",sum);
return 0;
}