我做的
#include
using namespace std;
int main()
{
int a[1000],n,i,j,k;
cin>>n;
a[0]=6;a[1]=2;a[2]=5;a[3]=5;a[4]=4;a[5]=5;a[6]=6;a[7]=3;a[8]=7;a[9]=6;
for(i=1;i<=90;i++)
for(j=0;j<=9;j++)
a[i*10+j]=a[i]+a[j];
int total=0;
for(i=0;i<=900;i++)
for(j=0;j<=900;j++)
for(k=0;k<=900;k++)
if(i+j==k&&a[i]+a[j]+4+a[k]==n)
total++;
cout<
}
为什么a[i]+a[j]=n/2才计数呢?应该是a[i]+a[j]+a[i+j]==n吧,要拼的是三个数字。
其他地方目测没有什么,改一下试试。 但注意数组开到2000比较好吧,两个相加会超过1000的。