题目详见:啊哈算法P67页。
题目分析:看到应该首先想到暴力,关键是如何想到只用暴力到1111。
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int fun(int x){
int ans = 0 ;
int a[10] = {6,2,5,5,4,5,6,3,7,6};
while(x/10!=0){
ans += a[x%10];
x /= 10;
}
ans+=a[x%10];
return ans;
}
int main(){
int n ;
int sum ;
while(cin>>n){
sum = 0 ;
for(int i = 0 ; i <= 1111 ; i ++){
for(int j = 0 ; j <= 1111 ; j++){
if(fun(i)+fun(j)+fun(i+j)== n-4){
printf("%d+%d=%d\n",i,j,i+j);
sum++ ;
}
}
}
printf("sum=%d\n",sum);
}
return 0 ;
}