生成数列(sequence)
问题描述:
给一个正整数x,由x可以一个数列{an}:a1=x,ai=ai-1+f(ai-1),其中f(x)为x的各位数字之和。如x=12,则a1=12,a2=12+1+2=15,a3=15+1+5,……。下面计算这个数列的第n项值。
输入格式:
第一行为正整数t(≤100),表示测试数据组数;接下来t行,每行为两个正整数x(<10000)和n(<100000)。
输出格式:
对于每组数据,输出对应数列的第n项。
输入样例
2
12 5
33 9
输出样例
30
114
天平(balance)
问题描述:
有一架特殊的天平,砝码全部是由p的方幂组成,每种只有一枚。现规定只能必须用k枚砝码,计算重量在[x,y]之间的物品,一共有多少个可以被这架天平称重。
输入格式:
第一行为正整数t(≤100),表示数据组数;接下来t行,每行四个正整数p,k,x,y。意义如上表示,2≤p≤10,1≤k≤20,1≤x≤y≤105。
输出格式:
对于每组数据,输出可以被称重的物品数。
输入样例
2
2 2 15 20
8 3 10000 20000
输出样例
3
0
样例解释:
数据1中,17=1+16=20+24;18=2+16=21+24;20=4+16=22+24;因此15~20中,只有这3个满足条件。
Gibonacci数列(gibonacci)
问题描述:
Fibonacci数列是众所周知的,F(0)=1, F(1)=1, F(n)=F(n-1)+F(n-2) (n>1)。我们修改其中一个规则,称为Gibonacci数列:G(0)=1, G(1)=t, G(n)=G(n-1)+G(n-2) (t≥1,n>1)。下面我们来求Gibonacci数列中的一些数。
输入格式:
第一行为正整数t(≤100),表示数据组数;接下来t行,每行包括三个正整数:i,G(i),j,表示项数i,G(i)和项数j,其中i,j≤20,G(i)≤106。
输出格式:
对于每组数据,根据给定的i和G(i),求出相应的G(j),如果不存在合理的t使得G(i)和i匹配,则输出-1。
注意:
结果要使用long long类型。
输入样例
4
1 1 2
3 5 4
3 4 6
12 17801 19
输出样例
2
8
-1
516847
第一题问题描述修改:
问题描述:
给一个正整数x,由x可以一个数列{a[n]}:a[1]=x,a[i]=a[i-1]+f(a[i-1]),其中f(x)为x的各位数字之和。如x=12,则a1=12,a2=12+1+2=15,a3=15+1+5,……。下面计算这个数列的第n项值。
第二题输入格式修改:
输入格式:
第一行为正整数t(≤100),表示数据组数;接下来t行,每行四个正整数p,k,x,y。意义如上表示,2≤p≤10,1≤k≤20,1≤x≤y≤10^5。
样例解释修改:
数据1中,17=1+16=2^0+2^4;18=2+16=2^1+2^4;20=4+16=2^2+2^4;因此15~20中,只有这3个满足条件。
第三题输入格式修改:
第一行为正整数t(≤100),表示数据组数;接下来t行,每行包括三个正整数:i,G(i),j,表示项数i,G(i)和项数j,其中i,j≤20,G(i)≤10^6。
我加了freopen样例输出不对啊。我在cout前面加的freopen,测试样例只输出114
第一题:
#include <iostream>第二题:
#include <stdio.h>第三题:
非常感谢!
本回答被提问者采纳???分少了?