数字序列
来源:互联网 发布:新田惠海 知乎 编辑:程序博客网 时间:2024/05/22 07:59
题目描述
数字序列定义如下:
f(1)= 1,f(2)= 1,f(n)=(A * f(n-1)+ B * f(n-2))% 7。
给定A,B和n,你要计算f(n)的值。
f(1)= 1,f(2)= 1,f(n)=(A * f(n-1)+ B * f(n-2))% 7。
给定A,B和n,你要计算f(n)的值。
输入
输入由多个测试用例组成。 每个测试用例在单行(1 <= A,B <= 1000,1 <= n <= 100,000,000)中包含3个整数A,B和n。
三个零信号表示输入的结束,此测试用例不被处理。
三个零信号表示输入的结束,此测试用例不被处理。
输出
对于每个测试用例,在单行上打印f(n)的值。
样例输入
1 1 31 2 100 0 0
样例输出
25
import java.util.*;public class Main { static Scanner in=new Scanner(System.in); static int a,b,n; static int[] f = new int[50];public static void main(String[] args) {while(in.hasNext()){a= in.nextInt();b= in.nextInt();n=in.nextInt(); if(a==0&&b==0&&n==0) break; f[0]=0; f[1]=f[2]=1; for(int i=3;i<=49;i++){ f[i]=(a*f[i-1]+b*f[i-2])%7; } System.out.println(f[n%49]); }}}分析:这个题暴力输出必然超时,由于题目取7的模,结果只有0到6七种情况,由题目给出的式子可知一共有7*7=49种情况,那么49之后必然会形成循环,所以此题得解
数据量很大的话,必然是有规律的啊,不然怎么解决来
阅读全文
0 0
- 数字序列
- 数字序列
- 数字序列
- 数字序列
- 数字序列
- 解码数字序列
- [bzoj1049][HAOI2006]数字序列
- bzoj 1049 数字序列
- bzoj1049: [HAOI2006]数字序列
- Linux产生序列数字
- 1049: [HAOI2006]数字序列
- BZOJ1049: [HAOI2006]数字序列
- javaScript 数字序列匹配
- 洛谷 P1895 数字序列
- 【数论】[luoguP1895]数字序列
- BZOJ1049 数字序列 [DP]
- bzoj1049 [HAOI2006]数字序列
- bzoj1049 数字序列
- 一张思维导图,让正则表达式不再难懂
- oracle rman 备份数据库常用脚本
- DNS全局负载均衡
- 关于org.hibernate.MappingException: Unknown entity:错误
- MFC程序最小化到托盘区(待实践)
- 数字序列
- 【094】A是n阶方阵,k是常数,可以证明|kA|等于k的n次方乘以|A|
- linux 动态链接器的使用方法
- AssetBundle打包策略
- BZOJ1005 [HNOI2008]明明的烦恼
- 张正友标定算法原理详解(二)
- memcached_functions_mysql
- 实践题目——数值型数据的存储原理
- Django处理Ajax请求