#include<stdio.h>
int a[10]= {6,2,5,5,4,5,6,3,7,6};
int n,ans=0,end=0;
int num(int m);
int main()
{
scanf("%d",&n);
for(int i=0; i<1000; i++)
{
for(int j=0; j<1000; j++)
{
if(num(i)+num(j)+num(i+j)+4==n)
ans++;
}
}
printf("%d",ans);
}
int num(int m)
{
int temp=0;
for(int i=m; i!=0; i/=10)
temp+=a[i%10];
if(m==0)
temp+=a[0];
return temp;
}
思路:
本题的大致思路:
如果两个数相加的火柴根数相等的话,就可ans++;
细致思路:
判断火柴棒个数,将每位数字取出来,首先用数组存下0–9每个数字的火柴棒,通过运算,计算出每个数的总和,即可得到。