半数单集问题

在这里插入图片描述

#include<stdio.h>
#include<iostream>
using namespace std;
int a[600]; 

int set(int n)
{
    long s = 1;
 
   for(int i= 1;i<=n/2;i++)
    {
        s +=  set(i);
        if( ( i>10) && (2*(i/10) <= i%10) )
            s -= a[i/10];
    }
    a[n] = s;
    return s ;
}
int main()
{
    int n ;
    a[1] = 1 ;

	freopen("input.txt","r",stdin);
    cin>>n; 
	freopen("output.txt","w",stdout);
	cout<<set(n)<<endl;
    return 0;
}

发布了30 篇原创文章 · 获赞 12 · 访问量 1295

猜你喜欢

转载自blog.csdn.net/dawn_1108/article/details/102389212