大数专题
2016-02-27 19:20
204 查看
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002
思路:求2个大数相加
AC代码:
思路:求一个数的阶乘
AC代码:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1047
思路:求好几个大数的和
AC代码:
思路:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1715
AC代码:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1063
AC代码:
import java.util.*;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n,i;
BigDecimal a,sum;
BigDecimal one = new BigDecimal("1");
while(in.hasNextBigDecimal())
{
a = in.nextBigDecimal();
n = in.nextInt();
sum = one;
for(i=1; i<=n; i++)
{
sum = sum.multiply(a);
}
sum = sum.stripTrailingZeros();//返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal
String str = sum.toPlainString();//返回不带指数字段的此 BigDecimal 的字符串表示形式
if(str.startsWith("0."))
str = str.substring(1);//从1位置截取子串,并返回
System.out.println(str);
}
}
}
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1316
AC代码:
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int i,j;
BigInteger a,b;
BigInteger f[] = new BigInteger[501];
BigInteger zero = new BigInteger("0");
f[1]=new BigInteger("1");
f[2]=new BigInteger("2");
for(i=3;i<=500;i++)
f[i]=f[i-1].add(f[i-2]);
while(cin.hasNextBigInteger()){
a=cin.nextBigInteger();
b=cin.nextBigInteger();
if(a.compareTo(zero)==0 && b.compareTo(zero)==0)break;
for(j=0,i=1;i<=500;i++){
if(a.compareTo(f[i])<=0 && b.compareTo(f[i])>=0)j++;
if(b.compareTo(f[i])<0)break;
}
System.out.println(j);
}
}
}
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1753
AC代码:
import java.math.BigDecimal;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
BigDecimal a, b, c;
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
a = cin.nextBigDecimal();
b = cin.nextBigDecimal();
c = a.add(b);
if(c.compareTo(BigDecimal.ZERO) == 0)
System.out.println("0");
else
System.out.println(c.stripTrailingZeros().toPlainString());
}
}
}
思路:求2个大数相加
AC代码:
import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int t = in.nextInt(); for(int i =1; i<=t; i++) { BigInteger a = in.nextBigInteger(); BigInteger b = in.nextBigInteger(); BigInteger c = a.add(b); System.out.println("Case " + i + ":"); System.out.println(a + " + " + b + " = " + c); if(i != t) System.out.println(""); } } }题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1042
思路:求一个数的阶乘
AC代码:
import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); while(in.hasNextInt()) { int n = in.nextInt(); BigInteger sum = BigInteger.ONE; //BigInteger sum1 = new BigInteger("1"); //这一种写法也可以 for(int i=2; i<=n; i++) { sum = sum.multiply(BigInteger.valueOf(i)); } System.out.println(sum); } } }
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1047
思路:求好几个大数的和
AC代码:
import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); for(int i=1; i<=n; i++) { BigInteger sum = BigInteger.ZERO; while(true) { BigInteger b = in.nextBigInteger(); if(b.compareTo(BigInteger.ZERO) == 0) { break; } sum = sum.add(b); } System.out.println(sum); if(i < n) System.out.println(""); } } }题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1316
思路:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1715
AC代码:
import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); BigInteger a[] = new BigInteger[1010]; a[1] = BigInteger.ONE; a[2] = BigInteger.ONE; for(int i=3; i<=1000; i++) { a[i] = a[i-1].add(a[i-2]); } int t = in.nextInt(); for(int i=1; i<=t; i++) { int b = in.nextInt(); System.out.println(a[b]); } } }
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1063
AC代码:
import java.util.*;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n,i;
BigDecimal a,sum;
BigDecimal one = new BigDecimal("1");
while(in.hasNextBigDecimal())
{
a = in.nextBigDecimal();
n = in.nextInt();
sum = one;
for(i=1; i<=n; i++)
{
sum = sum.multiply(a);
}
sum = sum.stripTrailingZeros();//返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal
String str = sum.toPlainString();//返回不带指数字段的此 BigDecimal 的字符串表示形式
if(str.startsWith("0."))
str = str.substring(1);//从1位置截取子串,并返回
System.out.println(str);
}
}
}
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1316
AC代码:
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int i,j;
BigInteger a,b;
BigInteger f[] = new BigInteger[501];
BigInteger zero = new BigInteger("0");
f[1]=new BigInteger("1");
f[2]=new BigInteger("2");
for(i=3;i<=500;i++)
f[i]=f[i-1].add(f[i-2]);
while(cin.hasNextBigInteger()){
a=cin.nextBigInteger();
b=cin.nextBigInteger();
if(a.compareTo(zero)==0 && b.compareTo(zero)==0)break;
for(j=0,i=1;i<=500;i++){
if(a.compareTo(f[i])<=0 && b.compareTo(f[i])>=0)j++;
if(b.compareTo(f[i])<0)break;
}
System.out.println(j);
}
}
}
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1753
AC代码:
import java.math.BigDecimal;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
BigDecimal a, b, c;
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
a = cin.nextBigDecimal();
b = cin.nextBigDecimal();
c = a.add(b);
if(c.compareTo(BigDecimal.ZERO) == 0)
System.out.println("0");
else
System.out.println(c.stripTrailingZeros().toPlainString());
}
}
}
相关文章推荐
- 电脑中毒 U盘所以文件被隐藏且不可设为可见
- 广师Android群分享之增强App稳定性
- [HDU2222]Keywords Search(AC自动机)
- 习惯的力量之四理直气壮的借口?
- 备忘录模式
- 中国计算机学会CCF推荐国际学术会议和期刊目录-交叉/综合/新兴
- 如何设计一个 iOS 控件?(iOS 控件完全解析)
- 浅析swift 中常量&变量&Optional可选项
- ios9.0适配
- 中国计算机学会CCF推荐国际学术会议和期刊目录-人机交互与普适计算
- 多态的应用
- 反汇编一个简单的C程序
- 一些关于贾志鹏线性筛的知识
- Objective-C ,KVC研究,几种属性赋值的方法
- [国嵌攻略][077][Linux时间编程]
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机科学理论
- PHP的工作原理以及lamp四者之间的关系
- DFS算法初探
- Grub2引导Grub4dos菜单写法
- 中国计算机学会CCF推荐国际学术会议和期刊目录-软件工程/系统软件/程序设计语言