博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDNU 1204.水题(水题)
阅读量:7002 次
发布时间:2019-06-27

本文共 904 字,大约阅读时间需要 3 分钟。

Description

一个整数总可以拆分为2的幂的和,例如:
7=1+2+4
7=1+2+2+2
7=1+1+1+4
7=1+1+1+2+2
7=1+1+1+1+1+2
7=1+1+1+1+1+1+1
总共有六种不同的拆分方式。
再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。
用f(n)表示n的不同拆分的种数,例如f(7)=6.
要求编写程序,读入n(不超过1000000),输出f(n)%1000000000。

Input

每组输入包括一个整数:N(1<=N<=1000000)。

Output

对于每组数据,输出f(n)%1000000000。

Sample Input

7

Sample Output

6

Hint

水题

Source

Unknown
#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define ll long longint n, f[1000000+8];int main(){ f[0] = f[1] = 1; for(int i = 2; i<1000008; i++) { if(i%2)f[i] = f[i-1]; else f[i] = (f[i-1]+f[i/2])%1000000000; } while(~scanf("%d", &n) && n != 0) { printf("%d\n", f[n]); } return 0;}

 

转载于:https://www.cnblogs.com/RootVount/p/10991032.html

你可能感兴趣的文章
MYSQL 分组
查看>>
Python新版本手动安装
查看>>
postgresql 9.6 安装并配置远程连接
查看>>
PC电源选购常见误区解惑
查看>>
使用LVS或者阿里云的SLB后如何获取访客真实的IP地址
查看>>
zookeeper安装部署--分布式模式
查看>>
Linux下架设×××(pptp)服务器
查看>>
35岁以前成功的12条黄金法则
查看>>
Spring2.5学习笔记2-AOP-利用注解
查看>>
Android 动画之TranslateAnimation应用详解
查看>>
linux 命令之 --用户管理
查看>>
二叉树基本操作实现
查看>>
怎么处理警告:编码 GBK 的不可映射字符
查看>>
Exchange Server 2010下,检测用户密码到期通知提醒脚本
查看>>
java基础--java静态代码块和静态方法的区别、static用法
查看>>
zabbix邮箱告警的详细配置
查看>>
使用基本ACL规则限制用户登录
查看>>
linux 文件查看命令 文件和目录属性
查看>>
由我主讲的软件测试系列视频之性能测试系列视频讲座目录出炉了
查看>>
dropdownlist用法
查看>>