加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数专题

发布时间:2020-12-14 02:02:24 所属栏目:大数据 来源:网络整理
导读:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002 思路:求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

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002

思路:求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());
		}
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读