1 条题解

  • 0
    @ 2025-2-14 21:09:17

    C :

    #include<stdio.h>
    int k,n,x,t;
    int f[2000]={0};
    int main()
    {
        scanf("%d",&n);
        f[1]=2;
        f[7]=3;
        f[4]=4;
        f[2]=5;f[3]=5;f[5]=5;
        f[0]=6;f[6]=6;f[9]=6;
        f[8]=7;
        for(int i=10;i<=1000;i+=1)
        {
           x=i;
           while(x>0)
           {
               f[i]=f[i]+f[x%10];
               x=x/10;
           }
        }
        t=0;
        n-=4;
        for(int i=0;i<=1000;i++)
        {
            if(f[i]<n)
            for(int j=0;j<=1000;j++)
            if(f[i]+f[j]<n)
            {
                k=i+j;
                if(f[i]+f[j]+f[k]==n)
                t++;
            }
        }
        printf("%d",t);  
        return 0;
    }
    
    

    C++ :

    #include<iostream>
    using namespace std;
    int biao[20]={6,2,5,5,4,5,6,3,7,6};
    int n;
    int i_stick(int);
    int main()
    {
    	cin>>n;
    	int i,j,a,b,c,tot=0;
    	//cout<<i_stick(2)<<endl;
    	for(i=0;i<=1000;++i)
    	{
    		a=i_stick(i);	
    		for(j=0;j<=1000;++j)
    		{
    			b=i_stick(j);
    			c=i_stick(i+j);
    			if((a+b+c)==(n-4))tot++;
    		}		
    		
    	}
    	cout<<tot<<endl;
    }
    int i_stick(int k)
    {
    	int sum=0;
    	while(1)
    	{
    		sum+=biao[k%10];
    		k=k/10;
    		if(k==0)return sum;
    	}
    }
    
    • 1

    信息

    ID
    654
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者