码迷,mamicode.com
首页 > 其他好文 > 详细

P1028 数的计算( 记忆剪枝 )

时间:2020-01-15 21:13:40      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:剪枝   pre   方法   input   格式   inpu   space   size   can   

题目描述

我们要求找出具有下列性质数的个数(包含输入的自然数 n ):

先输入一个自然数 n(n1000),然后对此自然数按照如下方法进行处理:

  1. 不作任何处理;

  2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;

  3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.

输入格式

个自然数 n (n1000)

输出格式

个整数,表示具有该性质数的个数。

输入输出样例

输入  
6
输出  
6

说明/提示

满足条件的数为

6,16,26,126,36,136

代码:

#include<cstdio>
int nums[1000]={0}; int num(int x){ if(x==0||x==1){ return 1; } if(nums[x]){ return nums[x]; } int n=x/2,sum=0; for(int i=0;i<=n;i++){ sum+=num(i); } return nums[x]=sum; } int main(){ int n;scanf("%d",&n); printf("%d",num(n)); }

P1028 数的计算( 记忆剪枝 )

标签:剪枝   pre   方法   input   格式   inpu   space   size   can   

原文地址:https://www.cnblogs.com/bjxqmy/p/12198682.html

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