Java 大数
How Many Fibs?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6641 Accepted Submission(s): 2629
f1 := 1
f2 := 2
fn := fn-1 + fn-2 (n >= 3)
Given two numbers a and b, calculate how many Fibonacci numbers are in the range [a, b].
input contains several test cases. Each test case consists of two
non-negative integer numbers a and b. Input is terminated by a = b = 0.
Otherwise, a <= b <= 10^100. The numbers a and b are given with no
superfluous leading zeros.
import java.util.*;
import java.io.*;
import java.math.*;
public class Main
{
static Scanner cin=new Scanner(System.in);
static PrintWriter cout=new PrintWriter(System.out,true);
public static void main(String[] args)
{
BigInteger a[]=new BigInteger[1010],n,m;
a[1]=BigInteger.ONE;
a[2]=BigInteger.valueOf(2);
for(int i=3;i<=1008;i++)
{
a[i]=a[i-1].add(a[i-2]);
}
while(cin.hasNext())
{
int ans=0;
n=cin.nextBigInteger();
m=cin.nextBigInteger();
if(n.compareTo(BigInteger.ZERO)==0 && m.compareTo(BigInteger.ZERO)==0) return;
if(n.compareTo(m)>0) {BigInteger t=n;n=m;m=t;}
for(int i=1;i<=1008;i++)
{
if(a[i].compareTo(n)>=0 && a[i].compareTo(m)<=0) ans++;
}
cout.println(ans);
}
}
}
Integer Inquiry
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 20693 Accepted Submission(s): 5500
of the first users of BIT's new supercomputer was Chip Diller. He
extended his exploration of powers of 3 to go from 0 to 333 and he
explored taking various sums of those numbers.
``This supercomputer
is great,'' remarked Chip. ``I only wish Timothy were here to see these
results.'' (Chip moved to a new apartment, once one became available on
the third floor of the Lemon Sky apartments on Third Street.)
input will consist of at most 100 lines of text, each of which contains
a single VeryLongInteger. Each VeryLongInteger will be 100 or fewer
characters in length, and will only contain digits (no VeryLongInteger
will be negative).
The final input line will contain a single zero on a line by itself.
This problem contains multiple test cases!
The
first line of a multiple input is an integer N, then a blank line
followed by N input blocks. Each input block is in the format indicated
in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
import java.util.*;
import java.io.*;
import java.math.*;
public class Main
{
static Scanner cin=new Scanner(System.in);
static PrintWriter cout=new PrintWriter(System.out,true);
public static void main(String[] args)
{
int n=cin.nextInt();
while((n--)!=0)
{
BigInteger b=BigInteger.ZERO;
BigInteger a=cin.nextBigInteger();
BigInteger ans=BigInteger.ZERO;
while(a.compareTo(b)>0)
{
ans=ans.add(a);
a=cin.nextBigInteger();
}
cout.println(ans.toString());
if(n!=0) cout.println();
}
}
}
Exponentiation
Time Limit: 2000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9667 Accepted Submission(s): 2873
involving the computation of exact values of very large magnitude and
precision are common. For example, the computation of the national debt
is a taxing experience for many computer systems.
This problem requires that you write a program to compute the exact value of Rn where R is a real number ( 0.0 < R < 99.999 ) and n is an integer such that 0 < n <= 25.
input will consist of a set of pairs of values for R and n. The R value
will occupy columns 1 through 6, and the n value will be in columns 8
and 9.
output will consist of one line for each line of input giving the exact
value of R^n. Leading zeros should be suppressed in the output.
Insignificant trailing zeros must not be printed. Don't print the
decimal point if the result is an integer.
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
import java.util.*;
import java.io.*;
import java.math.*;
public class Main
{
static Scanner cin=new Scanner(System.in);
static PrintWriter cout=new PrintWriter(System.out,true);
public static void main(String[] args)
{
BigDecimal a,c;
int b;
while(cin.hasNext())
{
a=cin.nextBigDecimal();
b=cin.nextInt();
c=a.pow(b);
String ans=c.toPlainString();
if(ans.contains(".")==false)
{
cout.println(ans);
}
else
{
int x=0,y=ans.length()-1;
while(ans.charAt(x)=='0') x++;
while(ans.charAt(y)=='0') y--;
if(ans.charAt(y)!='.')y++;
cout.println(ans.substring(x,y));
}
}
}
}
N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 83284 Accepted Submission(s): 24514
import java.util.*;
import java.io.*;
import java.math.*;
public class Main
{
static Scanner cin=new Scanner(System.in);
static PrintWriter cout=new PrintWriter(System.out,true);
public static void main(String[] args)
{
int n;
while(cin.hasNext())
{
n=cin.nextInt();
BigInteger a=BigInteger.valueOf(n);
BigInteger b=BigInteger.ONE;
BigInteger c=BigInteger.ONE;
for(BigInteger i=BigInteger.ONE;i.compareTo(a)<=0;i=i.add(b))
{
c=c.multiply(i);
}
cout.println(c);
}
}
}
Java 大数的更多相关文章
- java大数
java大数还是很好用的! 基本加入: import java.math.BigInteger; import jave.math.BigDecimal; 分别是大数和大浮点数. 首先读入可以用: S ...
- JAVA大数运算
java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...
- java大数总结【转】
java大数(2013长春网络赛)--hdu4762总结一下:1.java提交类要写Main.2.读取大数. Scanner read=new Scanner(System.in); BigInteg ...
- HDU5047Sawtooth(java大数)
HDU5047Sawtooth(java大数) 题目链接 题目大意:在一个矩形内画n个"M".问如何画可以把这个矩形分成最多的区域. 给出这个区域的数目. 解题思路:最好的方式就是 ...
- JAVA大数类
JAVA大数类api http://man.ddvip.com/program/java_api_zh/java/math/BigInteger.html#method_summary 不仅仅只能查J ...
- HDU4762(JAVA大数)
Cut the Cake Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- ZOJ3477&JAVA大数类
转:http://blog.csdn.net/sunkun2013/article/details/11822927 import java.util.*; import java.math.BigI ...
- 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&记忆化递归
HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...
- 收藏的一段关于java大数运算的代码
收藏的一段关于java大数运算的代码: package study_02.number; import java.math.BigDecimal; import java.math.BigIntege ...
- java大数判断相等
java大数判断相等: 1.equals()方法2.compareTo()方法区别:2.00与2.0 equals()方法判断不等,compareTo()方法判断相等,科学的说法可以看java api ...
随机推荐
- 大型网站架构之JAVA中间件
中间件就是在大型网站中,帮助各子模块间实现互相访问,消息共享或统一访问等功能的软件产品.常见的有: 远程服务框架中间件:主要解决各子模块之间互相访问的问题. 消息队列中间件:主要解决各子模之间消息共享 ...
- STL使用————SET&MULTISET
SET函数的基本用法 by hhl 使用set的好处 1. 当增加元素后,集合会自动删重并从小到大排列(时间比快排还快)2. 相当于一棵伸展树(能快速求出后继) 使用基础 #include<se ...
- 如何组织CSS?
前端工程师在开发一个单页面或者小网站的时候有可能不会在意CSS的组织问题,但如果要开发一个中大型的网站,就要好好的组织CSS文件,不然会增加维护成本,整个网站的结构也没条理性. 如何组织CSS?一般常 ...
- java线程深入学习
一.java中的线程是通过Thread类创建的, //下面是构造函数,一个共同的特点就是:都是调用init()进行创建的 public Thread() { init(null, null, &quo ...
- C#初学者使用file.creat()创建文件后,显示正由另一进程使用
string sourcePhotoPath = this.GetUserSelectedPhoto(); if(sourcePhotoPath == null) { return; } string ...
- 在performancepoint里面建立数据源的时候,总是发生以下的报警
就是我在performancepoint里面建立数据源的时候,总是发生以下的报警. 在管理中心主页的“应用程序管理”部分,单击“管理服务应用程序”,然后单击“PerformancePoint Se ...
- 【Django】路由系统
目录 URLconf配置 正则表达式详解 分组命名匹配 命名URL 与 URL反向解析 @ *** Django 1.1版本 URLConf官方文档 URL配置(URLconf)就像Django所支撑 ...
- unbound和mail服务的部署和简单应用
1.服务的介绍 Unbound是一个缓存DNS解析器.unbound官网 它使用根区域的内置权威名称服务器列表 (.),所谓的根提示.在收到DNS查询时,它会询问 答案的根名称服务器,几乎在所有情况下 ...
- 【Codeforces Round #459 (Div. 2) D】MADMAX
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] f[x][y][z][2] 表示第一个人到了点x,第二个人到了点y,当前轮的字母(1..26),当前轮到谁走的情况下,谁赢. 写个记 ...
- Spring MVC : Java模板引擎 Thymeleaf (三)
以下以构造一个表单開始,解说 Thymeleaf的使用方法. 为了演示方便,还是以经典的注冊为例. 这是Thymeleaf的form的形式, <form action="#" ...