火柴棍等式

#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;
    }
}

  

posted @ 2016-07-27 21:43  799  阅读(119)  评论(0编辑  收藏  举报