[终于可以自由的写出来了]数列
2010-10-14 18:06
309 查看
【题目描述】
给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:
1,3,4,9,10,12,13,…
(该序列实际上就是:3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2,…)
请你求出这个序列的第N项的值(用10进制数表示)。
例如,对于k=3,N=100,正确答案应该是981。
【输入格式】
输入文件只有1行,为2个正整数,用一个空格隔开:
k N
(k、N的含义与上述的问题描述一致,且3≤k≤15,10≤N≤1000)。
【输出格式】
输出文件为计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*10^9)。(整数前不要有空格和其他符号)。
【样例输入】
3 100
【样例输出】
981
【分析】
具体的操作方法是。两个数组a,b,a[i]就是k ^ i,b[i]就是我们构造的序列。
两个指针p1,p2分别对应a,b。
初始化p2 = 0,p1 = 1。
对于当前构造的b[i]来说分两种情况。
a[p1]≠b[p2]: b[i] = a[p1] + b[p2++]
a[p1] == b[p2]: b[i] = a[++p1]; p2 = 1
然后输出b
即可。
给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:
1,3,4,9,10,12,13,…
(该序列实际上就是:3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2,…)
请你求出这个序列的第N项的值(用10进制数表示)。
例如,对于k=3,N=100,正确答案应该是981。
【输入格式】
输入文件只有1行,为2个正整数,用一个空格隔开:
k N
(k、N的含义与上述的问题描述一致,且3≤k≤15,10≤N≤1000)。
【输出格式】
输出文件为计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*10^9)。(整数前不要有空格和其他符号)。
【样例输入】
3 100
【样例输出】
981
【分析】
具体的操作方法是。两个数组a,b,a[i]就是k ^ i,b[i]就是我们构造的序列。
两个指针p1,p2分别对应a,b。
初始化p2 = 0,p1 = 1。
对于当前构造的b[i]来说分两种情况。
a[p1]≠b[p2]: b[i] = a[p1] + b[p2++]
a[p1] == b[p2]: b[i] = a[++p1]; p2 = 1
然后输出b
即可。
#include <stdio.h> #define MAXN 2000 int a[MAXN],b[MAXN]; int k,n,p1,p2; int main() { scanf("%d%d",&k,&n); a[1] = 1; p1 = 1; for (int i = 1;i <= n;++i) if (b[p2] == a[p1]) { ++p1; a[p1] = a[p1 - 1] * k; b[i] = a[p1]; p2 = 1; } else { b[i] = a[p1] + b[p2++]; } printf("%d\n",b ); return 0; }
相关文章推荐
- 终于找到了一个地方可以自由发布我的引擎了
- iw14.0.50来了,终于可以直接在地址栏输入url打开iw功能页面了;可以自由使用EasyUI等js框架了;显示模式对话框也不再七绕八绕惹人烦了;
- 一下午的努力终于可以自由上网
- 这个七夕,他终于可以向老婆有个交代了
- ios 终于可以在html5的video控件中自动播放了
- 移动的MobileMarket个人终于可以上传软件了
- oracle数据库表中,某个字段是varchar2类型的但其实存的是数字,这样安装该字段排序,排出来的顺序是不对的,sql语句怎么写就可以排序了?
- 我的MSN终于可以上了(80072745MSN错误代码)
- 终于可以听到孙鑫老师的现场直播课程
- .net 中调用 webservice 的N中方法(终于可以孔乙己一把了 ^_^)
- rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了――remote sync
- VisualSVN2.5终于可以正常使用了
- 终于可以上网了
- Robi改造计划更新---框架终于搭出来了
- vb2008关闭消息框终于实现了,可以…
- Android studio 打包生成的apk文件 位置 项目中就可以复制出来
- 项目终于到了可以轻松下的时候,^_^
- wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理
- 终于可以折叠代码了
- php5终于出来了