题意:给出n根火柴,问有多少种拼成不同等式的方式。
题记:枚举A和B,然后算出C。最后把火柴数量算一算是否等于n就可以了。
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
const int N=1e4+10;
int num[10]={6,2,5,5,4,5,6,3,7,6};
int getnum(int x){
int res=0;
res+=num[x%10];
x/=10;
while(x>0){
res+=num[x%10];
x/=10;
}
return res;
}
int main(){
int n;
cin>>n;
int ans=0;
for(int a=0;a<=2000;a++){
for(int b=0;b<=2000;b++){
int c=a+b;
int numa=getnum(a);
int numb=getnum(b);
int numc=getnum(c);
if(numa+numb+numc+4==n)
ans++;
}
}
cout<<ans<<endl;
return 0;
}