代码:
#include<bits/stdc++.h>
using namespace std;
int num[1010]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6},bai[4],n,sum=0;
void dfs(int i);
void dfs(int i){
for(int j=0;j<=999;j++){
if(n-num[i]>=0){
bai[i]=j;
n-=num[j];
if(i==3){
if(bai[1]+bai[2]==bai[3]&&n==0){
sum++;
for(int k=1;k<=3;k++)cout<<bai[k]<<" ";
cout<<endl;
}
}
else dfs(i+1);
n+=num[j];
}
}
}
int main(){
cin>>n;
n-=4;
for(int i=10;i<=999;i++)
num[i]=num[i/10]+num[i%10];
dfs(1);
cout<<sum<<endl;
return 0;
}