码迷,mamicode.com
首页 > 编程语言 > 详细

【算法:3】数的计数

时间:2016-11-13 02:12:20      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:dig   line   int   lib   git   公式   cstring   ring   class   

多么熟悉的一道题。。。NOIP2001,递归即可

但是数学思想还是很浓郁的。。。

毕竟是经过多次计算,才得来的公式。。。

递归公式

f(x)=1+f(1)+f(2)+...+f(n/2);

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>

using namespace std;

inline int read()
{
    int x=0,f=1;char ch=getchar();
    for(;!isdigit(ch);ch=getchar()) if(ch==-) f=-1;
    for(;isdigit(ch);ch=getchar()) x=x*10+ch-0;
    return x*f;
}

int n,ans;

void dfs(int m)
{
    ans++;
    for(int i=1;i<=m/2;i++) dfs(i);
    return ;
}

int main()
{
    n=read();
    dfs(n);
    printf("%d\n",ans);
}

知道了公式,这道题还用做么。。。是个人都能看懂

【算法:3】数的计数

标签:dig   line   int   lib   git   公式   cstring   ring   class   

原文地址:http://www.cnblogs.com/ysmor/p/6057843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!