zoukankan      html  css  js  c++  java
  • ACM中的java的使用;

    java大法好,退C保平......开玩笑的;

    1、头文件:

    import java.math.*; // 包含大数类的包   
      
    import java.util.*;  // 包含输入头的包  

    2、程序主体,以及类名必须为Main:

    public class Main{  
             public static void main(String args[]){  
                  Scanner cin = newScanner(System.in);        // 输入必备句  
             }  
    }  

    3、有关函数:

    运算类:

    //d为int型,a,b,c都为大数  
    c=a.add(b);             //  相加  
    c=a.subtract(b);       //    相减  
    c=a.multiply(b);          // 相乘  
    c=a.divide(b);        // 相除取整  
    c=a.gcd(b);          //  最大公约数  
    c=a.remainder(b);   //  取余  
    c=a.mod(b);         // a mod b  
    c=a.abs();           // a的绝对值  
    c=a.negate();        // a的相反数  
    c=a.pow(d);           // a的b次幂        d为int型      
    c=a.max(b);           //  取a,b中较大的  
    c=a.min(b);                //  取a,b中较小的  
    d=a.compareTo(b);      //  比较a与b的大小   d=-1小于 d=0等于 d=1大于  d为int型  
    a.equals(b);            //  判断a与b是否相等    相等返回true  不相等返回false    

    类型转换类:

    d=a.intValue();      //       将大数a转换为 int 类型赋值给 d  
    e=a.longValue();     //       将大数a转换为  long 类型赋值给 e  
    f=a.floatValue();    //       将大数a转换为  float 类型赋值给 f  
    g=a.doubleValue();   //       将大数a转换为  double 类型赋值给 g  
    s=a.toString();      //     将大数a转换为 String 类型赋值给 s  
    <span style="color:#ff0000;">s=a.toPlainString();  //将大数a转换为String类型赋值给s,且不表示为科学计数法</span>  
    a=BigInteger.valueOf(e);  // 将 e 以大数形式赋值给大数 a   e只能为long或int  
    a=newBigInteger(s, d);  // 将s数字字符串以d进制赋值给大数a如果d=s字符数字的进制则等同于将数字字符串以大数形式赋值给大数a         

    进制转换类:

    String st = Integer.toString(num, base); //把int型num当10进制的数转成base进制数存入st中    (base <= 35).  
    int num = Integer.parseInt(st, base); //把st当做base进制,转成10进制的int  
    (parseInt有两个参数,第一个为要转的字符串,第二个为说明是什么进制).    
    BigInter m = new BigInteger(st, base); // st是字符串,base是st的进制.  
    BigInteger a;  
    int b;  
    Stringc;  
    a=cin.nextBigInteger(b);   //以b进制读入一个大数赋值给a  
    c=a.toString(b);          // 将大数a以b进制的方式赋给字符串c  
    a=newBigInteger(c, b);  //把c 当做“b进制“转为十进制大数赋值给a  

     例:hdu1250  http://acm.hdu.edu.cn/showproblem.php?pid=1250

    题目大意:斐波那契数列;

    import java.util.*;
    import java.math.*;
    
    public class Main {
        public static void main(String[] args) {
            Scanner cin=new Scanner(System.in);
            while(cin.hasNext()){
                int n=cin.nextInt();
                BigInteger ans[]=new BigInteger[10000];
                //BigInteger tmp1=BigInteger.valueOf(1);
                //BigInteger tmp2=BigInteger.valueOf(1);
                ans[1]=ans[2]=ans[3]=ans[4]=BigInteger.ONE;
                for(int i=5;i<=n;i++)
                {
                    ans[i]=ans[i-1].add(ans[i-2]).add(ans[i-3]).add(ans[i-4]);
                }
                System.out.println(ans[n]);
            }
        }
    }

     例:hdu1753  http://acm.hdu.edu.cn/showproblem.php?pid=1753

    题目大意:两个大数浮点数相加;

    import java.util.*;
    import java.math.*;
    
    public class Main {
        public static void main(String[] args) {
            Scanner cin =new Scanner(System.in);
            while(cin.hasNext()){
                BigDecimal a,b;
                while(cin.hasNext()){
                    a=cin.nextBigDecimal();
                    b=cin.nextBigDecimal();
                    System.out.println(a.add(b).stripTrailingZeros().toPlainString());
                }
            }
        }
    }

    PS: 有用java水了一道,这里注意下要求最简形式,可能会出现4.0或者1e5等形式,所以用stripTrailingZeros()函数去除末尾0,用toPlainString()函数转成普遍计数法输出。

  • 相关阅读:
    elementui:eltreenode
    Cesium+Vue
    TXT文件读写
    The Naked Kitchen
    0627realman
    信息: XML validation disabled
    跟踪加载图像
    加载和显示图像
    文件创建
    彩色图像转灰度图像
  • 原文地址:https://www.cnblogs.com/Cloud-king/p/9037552.html
Copyright © 2011-2022 走看看