hdoj 1753--大明a+b

import java.math.*;
import java.util.Scanner;

public class Main
{
    public static void main(String[] angle)
    {
        BigDecimal a, b;
        a=new BigDecimal("0");
        b=new BigDecimal("0");
        Scanner scan=new Scanner(System.in);
        while (scan.hasNextBigDecimal())
        {
            a=scan.nextBigDecimal();
            b=scan.nextBigDecimal();
            System.out.println(a.add(b).stripTrailingZeros().toPlainString());
        }
    }
}

 

hdoj 1715 大菲波数

import java.util.*;
import java.math.*;
class Main{
    static BigInteger [] fib= new BigInteger[1010]; 
    static void deal()
    {
        fib[1]= new BigInteger("1");
        fib[2]= new BigInteger("1");
        for(int i=3; i< 1010; i++)
        {
            fib[i]= fib[i-1].add(fib[i-2]);
        }
    }
    public static void main(String[] args)
    {
        deal();
        Scanner cin= new Scanner(System.in);
        int t= cin.nextInt();
        while(t-- != 0)
        {
            int id= cin.nextInt();
            System.out.println(fib[id]);
        }
    }
}

 

hdoj 1316 How Many Fibs?

import java.util.*;
import java.math.*;
class Main 
{
    static BigInteger [] fib= new BigInteger[1010];
    static void deal()
    {
        fib[1]= new BigInteger("1");
        fib[2]= new BigInteger("2");
        for(int i=3; i< 1010; i++)
        {
            fib[i]= fib[i-1].add(fib[i-2]);
        }
    } 
    public static void main (String[] args) {
         deal();
        Scanner cin= new Scanner(System.in);
        while(cin.hasNextBigInteger())
        {
            BigInteger a= cin.nextBigInteger();
            BigInteger b= cin.nextBigInteger();
            if(a.equals(new BigInteger("0")) && b.equals(new BigInteger("0")))
            {
                break;
            }
            int cnt=0;
            for(int i=1; i< 1010; i++)
            {
                if(fib[i].compareTo(a)> -1 && fib[i].compareTo(b) <=  0)
                {
                    cnt++;
                }
            }
            System.out.println(cnt);
        }
    }
}

 

hdoj 1297 Children’s Queue(递推)

import java.util.*;
import java.math.*;
class Main{
    static BigInteger [] fun= new BigInteger[1010];    
    static void deal()
    {
        fun[1]= new BigInteger("1");
        fun[2]= new BigInteger("2");
        fun[3]= new BigInteger("4");
        fun[4]= new BigInteger("7");
        for(int i=5; i< 1010; i++)
        {
            fun[i]= fun[i-1].add((fun[i-2]).add(fun[i-4]));
        }
    }
    public static void main(String[] args)
    {
        deal();
        Scanner cin= new Scanner(System.in);
        while(cin.hasNextBigInteger())
        {
            int n= cin.nextInt();
            System.out.println(fun[n]);
        }
    } 
}

 

hdoj 1063 Exponentiation

import java.util.* ;
import java.math.* ;
class Main{
    public static void main(String [] args)
    {
        Scanner cin= new Scanner(System.in);
        while(cin.hasNextBigDecimal())
        {
            BigDecimal R= cin.nextBigDecimal();
            int n= cin.nextInt();
            BigDecimal rec;
            rec= BigDecimal.ONE;
            for(int i=0; i<n; i++)
            {
                rec= rec.multiply(R);
            }
            String s= rec.stripTrailingZeros().toPlainString();  //去除后缀0
            if(s.charAt(0)=='0')
            {
                System.out.println(s.substring(1));
            }
            else
            {
                System.out.println(s);
            }
        } 
    }
}

 

求圆直径(精度);

import java.math.*;
import java.util.Scanner;
import java.text.DecimalFormat;
class Main
{
    public static final double PI = Math.acos(-1.0); 
    public static void main(String[] args)
    {
        Scanner cin=new Scanner(System.in);
        while(cin.hasNext())
        {
            double n=cin.nextDouble();
            double m=PI*n*n;
        //m=(double)(Math.round(m*10000000))/10000000;   好像会损失精度, 不可靠。
            DecimalFormat b = new DecimalFormat("##0.0000000");
            String aa=b.format(m);
            System.out.println(aa);
        }
    }
}

 

N!

import java.math.* ;
import java.util.* ;
class Main{
    public static void main(String[] args)
    {
        Scanner cin= new Scanner(System.in);
        while(cin.hasNextInt())
        {
            int n=cin.nextInt();
            BigInteger sum= BigInteger.ONE ;
            for(int i=1; i<= n; i++)
            {
                String medium= i+"";        // int型转BigInteger类型 ;
                BigInteger sb= new BigInteger(medium);
                sum=sum.multiply(sb);
            }
            System.out.println(sum);
        }
        return;
    }
}

 

posted on 2016-01-16 21:34  cleverbiger  阅读(395)  评论(0)    收藏  举报