失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 阿猫的实验

阿猫的实验

时间:2018-09-25 19:29:47

相关推荐

阿猫的实验

阿猫的实验

Time Limit:10000MS Memory Limit:65536K

Total Submit:6 Accepted:4

Case Time Limit:1000MS

Description

【问题描述】

阿猫很喜欢生物学。他还在今年的全国中学生生物学联赛中获得了一等奖。

一天,阿猫在实验室听说了这样一种繁殖能力很强的老鼠。

这种老鼠在出生后的第一个月,可以生出a对老鼠;第二个月,可以生出b对老鼠;第三个月及以后的每个月,都可以生出c对老鼠。

阿猫对此十分好奇。他很想知道,如果他有一对刚出生的老鼠,按最理想的模式繁殖,且老鼠不死,那么最少需要多少个月它们就可以覆盖整个地球。

为了完成这一猜想,阿猫需要知道这种老鼠在第N个月时的数量。

Input

输入文件cat.in只有一行,四个数,分别为a,b,c,N(0<=a<=b<=c<=100,N<=3000),其含义为题目所述。

Output

输出文件cat.out只有一个数,为第N个月老鼠的数量。

Sample Input

0 1 1 11

Sample Output

144

最近在学习JAVA,用JAVA写高精度还是很方便的,比较容易错的就是不初始化数组的值,因为我也没怎么看书,就是翻翻JAVA的输入输出,导致调试了蛮久不知道错哪,老出现java.lang.NullPointerException这句话,以后要注意了。

感觉题目有点点问题,题意应该要求的是第N个月老鼠对的数量,

下面是AC代码:

import java.util.*;import java.math.*;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScannercin= new Scanner(System.in);int i,n;BigInteger a,b,c,t;a=cin.nextBigInteger(); b=cin.nextBigInteger(); c=cin.nextBigInteger(); n=cin.nextInt();BigInteger[] f=new BigInteger [3010];for(i=0;i<=n+2;i++)f[i]=BigInteger.ZERO;f[1]=new BigInteger("1");// System.out.println(f[0]);for(i=2;i<=n+1;i++){t=f[i].add(f[i-1]);f[i]=t;if(i>=2)f[i]=f[i].add(a.multiply(f[i-1].subtract(f[i-2])));if(i>=3)f[i]=f[i].add(b.multiply(f[i-2].subtract(f[i-3])));if(i>=4)f[i]=f[i].add(c.multiply(f[i-3]));// System.out.println(f[i]);}System.out.println(f[n+1]);}}

如果觉得《阿猫的实验》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
阿猫阿狗

阿猫阿狗

2019-01-22

阿猫正传散文

阿猫正传散文

2023-01-01

阿猫算是宠物猫吗

阿猫算是宠物猫吗

2020-07-23

大阿猫品牌是否存在

大阿猫品牌是否存在

2021-11-08