P1028 数的计算

摘要:
输入/输出样本输入样本#1:复制6输出样本#1:副本6表示满足条件的数量为6、16、26126、36136解决方案#include//从其他地方看到的使用namespacestd的通用头文件;Intfun//当递归函数的数量较少时,可以使用此选项。当数字较大时,超时{ifreturn1;否则如果{returnfun(n-1)+fun(n/2);}elsereturnfun(n-1);}Intmain(){intn,m;inta[10001];cin˃˃n;a[1]=1;for//这与递归原理相同,但数组可以保存之前的数字,因此不需要每次重新计算以减少计算量。这不会超时{ifa[i]=a[i-1]+a[i/2];elsea[i]=a[i-1];}cout˂˂a[n];return0;}

题目描述

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

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

不作任何处理;

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

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

输入格式:

一个自然数n(n<=1000)

输出格式:

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

输入输出样例

输入样例#1: 复制
6
输出样例#1: 复制
6

说明

满足条件的数为

6,16,26,126,36,136

#include<bits/stdc++.h> //从其他地方看来的万能头文件
using namespace std;
int fun(int n)//递推函数数小了可以用这个,数大超时
{
    if(n==1)
        return 1;
    else
        if(n%2==0)
        {
            return fun(n-1)+fun(n/2);
        }
        else
            return fun(n-1);

}
int main()
{
    int n,m;
    int a[10001];
    cin>>n;
    a[1]=1;
    for(int i=2;i<=n;i++)//和递推原理一样,不过数组可以保存前面的数所以不用每次都重新算减少了计算量,这个不会超时
    {
        if(i%2==0)
            a[i]=a[i-1]+a[i/2];
        else
            a[i]=a[i-1];
    }
    cout<<a[n];
    return 0;
}

免责声明:文章转载自《P1028 数的计算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Laravel 开发笔记SVN代码行数统计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【DLL相关】实现函数的DLL封装,并在另一个项目中调用

直接给出步骤: ===========函数的DLL封装=========== 1.创建第一个项目:win32控制台程序,应用程序类型:DLL,附加选项:导出符号(命名:double_dll) 2.double_dll.h中加入函数定义   extern DOUBLE_DLL_API int doublefun(int);//DOUBLE_DLL_API 根...

C#实现窗体阴影效果

窗体阴影效果 #region 窗体边框阴影效果变量申明 const int CS_DropSHADOW = 0x20000; const int GCL_STYLE = (-26); //声明Win32 API [DllImport("user32.dll", CharSet =...

POJ NOI0113-05 素数回文数的个数(PKU2928)

问题链接:POJ NOI0113-05 素数回文数的个数。 原题出处:PKU2928 素数回文数的个数。 总时间限制: 1000ms 内存限制: 65536kB 描述 求11到n之间(包括n),既是素数又是回文数的整数有多少个。 输入 一个大于11小于1000的整数n。 输出 11到n之间的素数回文数个数。 样例输入 23 样例输出 1 提...

winform使用Barcodex控件预览和打印一维码

1、控件下载。   http://files.cnblogs.com/files/masonblog/barcodex.zip 。   包含barcodex.ocx控件、barcodex帮助文档、两个winform控件的dll文件。 2、控件的注册。 (1)检测控件是否注册(方法不唯一)。   本例使用的是判断注册表中 HKEY_CLASSES_ROOTT...

C#如何获取其他程序ListView控件中的内容

源码下载:http://download.csdn.net/detail/php_fly/4923388 需求:获取其他程序中的ListView控件的文本内容 原理:进程之间是相互隔离的,数据是不能共享的(有些特例)    LVM_GETTITEMTEXT:将一个数据缓冲区提供给listview32控件,你不能把你的进程的数据缓冲提供给另外的程序,所以要用...

[转]StructLayout特性

转自:http://www.cnblogs.com/JessieDong/archive/2009/07/21/1527553.html StructLayout特性 StructLayout特性          公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列。如果...