• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Sherlockyk
博客园    首页    新随笔    联系   管理    订阅  订阅

数的计数

数的计数

Time Limit:1000MS  Memory Limit:65536K

Description

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

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

1. 不作任何处理;

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

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

Input

n (n <= 15725)

Output

满足条件的数据个数

Sample Input

6

Sample Output

6

Hint

满足条件的数为 6 (此部分不必输出)
       16
       26
       126
       36
       136

Source

NOIP2001年第七届全国青少年信息学(计算机)奥林匹克分区联赛复赛普及组试题1

 

 1 //水题……
 2 #include<iostream>
 3 using namespace std;
 4 unsigned long long a[20000]={0};
 5 unsigned long long f(int n)
 6 {  if(n==1)return 1;
 7    if(a[n]>0)return a[n];
 8    unsigned long long s=1;
 9    for(int i=1;i<=n/2;i++)s+=f(i);
10    a[n]=s;return s;
11 }
12 int main(){
13     int n;cin>>n;
14     cout<<f(n)<<endl; return 0;
15 }

 

posted @ 2018-03-17 11:29  Sherlockyk  阅读(148)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3