ZOJ-3290
来源:互联网 发布:redis作为mysql的缓存 编辑:程序博客网 时间:2024/06/04 01:26
构造最长的序列,直接看代码吧。。懒的解释,附大神的注释:
#3290 简单题,构造最长递增序列拆分,按照 a(n+1) = a(n) * 2 + 1 构造,有剩的全部加到最后一个就是了。
#include<stdio.h>int main(){ long long n; long long a[100]; int first = 1; while (scanf("%lld", &n) != EOF) { if (!first) putchar('\n'); else first = 0; long long sum = 1, curr = a[0] = 1; int index = 1, i; while (n - sum >= (curr * 2 + 1)) { curr = curr * 2 + 1; a[index++] = curr; sum += curr; } a[index - 1] += n - sum; printf("%d\n", index); for (i = 0; i < index; i++) printf(i ? " %lld" : "%lld", a[index - 1 - i]); putchar('\n'); } return 0;}
0 0
- ZOJ-3290
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- jsp和Java获取参数
- C++语言类成员变量初始化总结
- int 15h中断获取内存信息
- TCP/IP详解
- N!末尾有多少个零
- ZOJ-3290
- 最长不下降子序列 jobdu 1112
- ios学习资料相关
- iOS writeToFile crash
- 进程间关系:进程、僵尸进程、孤儿进程、进程组、前台进程组、后台进程组、孤儿进程组、会话、控制终端
- JSON资料整理
- Java网络编程从入门到精通(1):Internet地址概述
- 鼠标的样式
- 设置样式_添加商品