递推求值
来源:互联网 发布:微信打不开花生壳域名 编辑:程序博客网 时间:2024/04/23 23:33
已知递推公式:
F(n, 1)=F(n-1, 2) + 2F(n-3, 1) + 5,
F(n, 2)=F(n-1, 1) + 3F(n-3, 1) + 2F(n-3, 2) + 3.
初始值为:F(1, 1)=2, F(1, 2)=3, F(2, 1)=1, F(2, 2)=4, F(3, 1)=6, F(3, 2)=5。
输入n,输出F(n, 1)和F(n, 2),由于答案可能很大,你只需要输出答案除以99999999的余数。
F(n, 1)=F(n-1, 2) + 2F(n-3, 1) + 5,
F(n, 2)=F(n-1, 1) + 3F(n-3, 1) + 2F(n-3, 2) + 3.
初始值为:F(1, 1)=2, F(1, 2)=3, F(2, 1)=1, F(2, 2)=4, F(3, 1)=6, F(3, 2)=5。
输入n,输出F(n, 1)和F(n, 2),由于答案可能很大,你只需要输出答案除以99999999的余数。
输入格式
输入第一行包含一个整数n。
输出格式
输出两行,第一行为F(n, 1)除以99999999的余数,第二行为F(n, 2)除以99999999的余数。
样例输入
4
样例输出
14
21
21
import java.util.Scanner;public class Main {//递推public static int f(int m,int i){if(m==1&&i==1)//把已知条件写进去return 2;else if(m==1&&i==2)return 3;else if(m==2&&i==1)return 1;else if(m==2&&i==2)return 4;else if(m==3&&i==1)return 6;else if(m==3&&i==2)return 5;else if(m>3&&i==1)//通过已知递推回来的算法return f(m-1, 2) + 2*f(m-3, 1) + 5;else if(m>3&&i==2)return f(m-1,1)+3*f(m-3,1)+2*f(m-3,2)+3;return 0;//因为是int型返回所以必须return 0;否则报错}public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);int n=sc.nextInt();System.out.println(f(n,1)%99999999);System.out.println(f(n,2)%99999999);}}
0 0
- acm-递推求值
- nyoj301 递推求值
- NYOJ301-递推求值
- 蓝桥杯 递推求值
- 递推求值
- 递推求值
- 蓝桥杯-递推求值
- nyoj301递推求值
- 递推求值
- 递推求值
- nyoj 301 递推求值
- Nyoj 301 递推求值
- NYOJ 301 递推求值
- ADV-218 递推求值
- NYISTME 1300 递推求值
- nyoj301递推求值【矩阵快速幂】
- nyoj301——递推求值
- nyoj 301 递推求值 矩阵幂
- word-space,word-break,wrod-wrap,white-space,letter-space
- 如何对APP进行重新签名(使用命令签名)
- GCC编译选项,包含的头文件
- 微信小程序 登录过程
- Kafka工具的使用
- 递推求值
- Intel HD Graphics
- Android OpenGL ES2.0基础(三、Shader相关介绍)
- Unit 3-Lecture 5: The Pigeonhole Principle and Inclusion-Exclusion
- centOS6.8 Samba服务 安装配置(客户端无用户访问)
- C++ 变量的声明与定义的区别
- [2012集训队互测]JZPKIL
- Spring IoC容器和AOP解析
- 在angularJS中用jquery.bigautocomplete.js的问题