POJ 3982 序列(JAVA,简单,大数)

题目

//在主类中 main 方法必须是 public static void 的,在 main
中调用非static类时会有警告信息, 
//可以先建立对象,然后通过对象调用方法:

import java.io.*;
import java.util.*;
import java.math.*;

public class Main {

/**
* @xqq
*/
public BigInteger a99(BigInteger a, BigInteger b, BigInteger c) {
for(int i = 0; i < 97; i++) {
BigInteger d = a.add(b.add(c));
a = b;
b = c;
c = d;
}
return c;
}
public static void main(String[] args) throws Exception {
// 定义并打开输入文件
Main e = new Main();
Scanner cin = new Scanner(System.in);

BigInteger a;
BigInteger b;
BigInteger c;

while(cin.hasNext()) { //判断是否输入结束
a = cin.nextBigInteger() ; //大数输入
b = cin.nextBigInteger() ; //大数输入
c = cin.nextBigInteger() ; //大数输入
System.out.println(e.a99(a, b, c));

}

cin.close(); //关闭输入文件
}
}

POJ 3982 序列(JAVA,简单,大数),码迷,mamicode.com

时间: 2024-10-06 09:22:03

POJ 3982 序列(JAVA,简单,大数)的相关文章

POJ 3982 序列 大数题解

又是一道大数相加的题目,直接模板或者Java都可以水过了. 循环相加33次就可以了,计算出A99是第几个,准确输出答案. #include <stdio.h> #include <string> #include <algorithm> using std::string; const int MAX_B = 5120; char buf[MAX_B]; int id = 0, len = 0; inline char getFromBuf() { if (id >

POJ 3982 序列 [解题报告] Java

序列 问题描述 : 数列A满足An = An-1 + An-2 + An-3, n >= 3 编写程序,给定A0, A1 和 A2, 计算A99 输入: 输入包含多行数据 每行数据包含3个整数A0, A1, A2 (0 <= A0, A1, A2 <= 32767) 数据以EOF结束 输出: 对于输入的每一行输出A99的值 样例输入: 1 1 1 样例输出: 69087442470169316923566147 代码实现: //* @author: import java.util.*;

Poj 3982 序列

1.Link: http://poj.org/problem?id=3982 2.Content: 序列 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7057   Accepted: 3182 Description 数列A满足An = An-1 + An-2 + An-3, n >= 3 编写程序,给定A0, A1 和 A2, 计算A99 Input 输入包含多行数据 每行数据包含3个整数A0, A1, A2 (0

zoj Fibonacci Numbers ( java , 简单 ,大数)

题目 //f(1) = 1, f(2) = 1, f(n > 2) = f(n - 1) + f(n - 2) import java.io.*; import java.util.*; import java.math.*; public class Main { /** * @xqq */ public BigInteger an(int n) { BigInteger c; BigInteger a = BigInteger.valueOf(1); BigInteger b = BigIn

HDU 1715 大菲波数(JAVA, 简单题,大数)

题目 //BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数 import java.io.*; import java.util.*; import java.math.*; public class Main { /** * @xqq */ public BigInteger an(BigInteger a, BigInteger b, int n) { if(n == 1) { return a; } for(int i = 2

JAVA求解大数

题目链接:CLICK HERE~ 有了Java求解大数变得如此简单,以后再也不用担心大数模板了.哦啦啦啦. import java.math.BigInteger; import java.math.BigDecimal; import java.util.Scanner; class Main{ public static void main(String args[]){ Scanner cin = new Scanner(System.in); while(cin.hasNext()){

poj 2506 Tiling(java解法)

题目链接:http://poj.org/problem?id=2506 本题用的java解的,因为涉及到大数问题,如果对java中的大数操作不熟悉请点这儿:链接 思路:地推公式f[i]=f[i-1]+2*f[i-2] code: import java.math.*; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin=new Scanner(Syst

poj 3101 Astronomy (java 分数的最小公倍数 gcd)

题目链接 要用大数,看了别人的博客,用java写的. 题意:求n个运动周期不完全相同的天体在一条直线上的周期. 分析:两个星球周期为a,b.则相差半周的长度为a*b/(2*abs(a-b)),对于n个只需求这n个 分数的最小公倍数即可. 分数的最小公倍数 = 分子的最小公倍数/分母的最大公约数 1 import java.util.*; 2 import java.math.*; 3 public class Main { 4 public static int [] t = new int [

POJ 3071 Football(简单 概率DP)

Football 原文链接:http://blog.csdn.net/xuechelingxiao/article/details/38520105 大意:2^n 个球队进行单场淘汰赛,每两只球队之间比赛会有胜负的概率,问最后谁夺冠的概率最大. 思路:简单的概率DP问题,主要是怎么处理哪两个球队比赛的问题. DP方程为 dp[i][j] = ∑(dp[i-1][j]*dp[i-1][k]*p[j][k]); //dp[i][j]表示第 i 轮的时候,第 j 支队伍赢的概率.. 对于其中位运算,可