数列
来源:互联网 发布:sql判断师傅为空 编辑:程序博客网 时间:2024/05/17 00:14
题目描述
给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:
1,3,4,9,10,12,13,…
(该序列实际上就是:30,31,30+31,32,30+32,31+32,30+31+32,…)
请你求出这个序列的第N项的值(用10进制数表示)。
例如,对于k=3,N=100,正确答案应该是981。
输入
输入文件sequence.in只有1行,为2个正整数,用一个空格隔开:
k N
(k、N的含义与上述的问题描述一致,且3≤k≤15,10≤N≤1000)。
输出
输出文件sequence.out为计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*109)。(整数前不要有空格和其他符号)。
样例输入
3 100
样例输出
981这道题发现规律就可以用dfs搜出来,比如3^2 3^2+3^0 3^2+3^1 3^2+3^1+3^0.#include <stdio.h>#include <math.h>#include <stdlib.h>#define LL long longint a, n, cnt;void dfs ( int k, LL sum ){ cnt ++; if ( cnt == n ) { printf ( "%lld\n", sum ); exit ( 0 ); } for ( int i = 0; i < k; i ++ ) dfs ( i, sum+pow ( a, i ) ); //3^j+3^0 3^j+3^1 3^j+3^1+3^0}int main ( ){ int j; scanf ( "%d%d", &a, &n ); for ( j = 0; ; j ++ ) { if ( n-( 1 << j ) < 0 ) break ; n = n-( 1 << j ); } cnt = 0; dfs ( j, pow ( a, j ) ); return 0;}
0 0
- 数列
- 数列
- 数列
- 数列!!!
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 数列
- 正则表达式判断字符串中是否含有数字
- 关于DPM(Deformable Part Model)算法中模型可视化的解释
- NYOJ 27
- 杭电2529Shot
- php处理字符串格式的计算公式
- 数列
- object—c(4)
- 【UML】——浅谈设计模式,框架,架构
- LifeRay的portlet开发(使用Eclipse)- 想说Hello不容易!
- webview加载本地html文件
- Virtualbox WDDM之DxgkDdiCreateAllocation
- LeetCode:Reverse Bits
- git错误error: Your local changes to the following files would be overwritten
- 安卓开发中用eclipse提交代码到github遇到的rejected-non-fast-forward问题