2435: 【作】【普及-】【P1149】火柴棒等式
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:7
解决:4
题目描述
给你 根火柴棍,你可以拼出多少个形如 的等式?等式中的 、、 是用火柴棍拼出的整数(若该数非零,则最高位不能是 )。用火柴棍拼数字 的拼法如图所示:
注意:
-
加号与等号各自需要两根火柴棍;
-
如果 ,则 与 视为不同的等式();
-
根火柴棍必须全部用上。
输入
一个整数 。
输出
一个整数,能拼成的不同等式的数目。
样例输入 复制
14
样例输出 复制
2
提示
【输入输出样例 1 解释】
个等式为 和 。
【输入输出样例 2 解释】
样例输入:18
样例输出:9
个等式为
、、、、、、、、。
#include<bits/stdc++.h>
using namespace std;
int main(){
int m[10]={6,2,5,5,4,5,6,3,7,6};
int n,ans=0;
cin>>n;
for (int i=0;i<=1111;i++) {
for (int j=0;j<=1111;j++) {
int k=i+j;
int s=0;
int a=i,b=j,c=k;
do {
s+=m[a%10];
a/=10;
}while (a>0);
do {
s+=m[b%10];
b/=10;
}while (b>0);
do {
s+=m[c%10];
c/=10;
}while (c>0);
if (s==(n-4)) {
//cout<<i<<"+"<<j<<"="<<k<<endl;
ans++;
}
}
}
cout<<ans<<endl;
return 0;
}