火柴棍等式

#include<cstdio>
#include<iostream>
using namespace std;
int calute(int n)
{
int num[55]= {6,2,5,5,4,5,6,3,7,6};
int sum=0;
if(n==0)sum=6;
else
while(n)
{
sum+=num[n%10];
n=n/10;
}
return sum;
}
int Cal(int a,int b,int c)
{
return calute(a)+calute(b)+calute(c);
}
int main()
{
int n;
while(cin>>n)
{
n=n-4;
int ct=0;
for(int i=0; i<=1111; i++)
{
for(int j=0;j<=i; j++)
{
int k=i-j;
if(n==Cal(i,j,k))
{
ct++;
}
}
}
cout<<ct<<endl;
}
}

浙公网安备 33010602011771号