2023/7/25
今天了解了两种大数类,一种是Biginteger,一种是BigDecimal。前者只能运算整数,后者可以运算小数
package 大数类; import java.math.BigInteger; public class BigInteger类 { public static void main(String[] args) { BigInteger a1=new BigInteger("12345678987654321");//支持的最大值为2^31-1 BigInteger a2=new BigInteger("98765432123456789"); System.out.println(a1.add(a2));//加 System.out.println(a2.subtract(a1));//减 System.out.println(a1.multiply(a2));//乘 System.out.println(a2.divide(a1));//除,整型运算无小数 System.out.println(a2.remainder(a1));//求余 System.out.println(a2.divideAndRemainder(a1)[0]);//返回一个数组,数组中第一个值为商第二个为余数 //前面这些的参数只能是Bigteger类型,当然还有部分其他的方法也是,没有列出来 System.out.println(a2.pow(2));//求次方 System.out.println(a2.negate());//相反数 } }
package 大数类; import java.math.BigDecimal; import java.math.RoundingMode; public class BigDecimal类 { public static void main(String[] args) { BigDecimal a1=new BigDecimal(314159265358.77932384626);//只能直接录入浮点数或者字符串 BigDecimal a2=new BigDecimal("987654321.123456789"); System.out.println(a1.add(a2)); System.out.println(a1.subtract(a2)); System.out.println(a1.multiply(a2)); System.out.println(a1.divide(a2,5,RoundingMode.HALF_UP));//参数,小数点位数,近似处理模式 } }
然后就是System类和Scanner类
前者主要的功能有输入流、输出还有计时等,后者就是扫描仪,主要功能就是输入
package System类; public class 计时 { public static void main(String[]args) { String b="hello"; String c="world"; String d="hello"; long a=System.currentTimeMillis();//返回此时的运行时间,返回值为long类型 d+=b; long e=System.currentTimeMillis(); b.concat(c); long f=System.currentTimeMillis(); System.out.println((e-a)+" "+(f-e));//用时都太短了无法比较 } }
本题的目标很简单,就是判断一个给定的正整数是否素数。 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2 31 的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。 输入样例: 2 11 111 输出样例: Yes No
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=0;i<n;i++) { boolean flag=false; int x=sc.nextInt(); if(x>=2)//2以上正常判断 { for(int j=2;j<Math.sqrt(x);j++) { if(x%j==0)//只要有非一的因子就是非素数 { flag=true; } } } else//小于2的全这里算为非素数 { flag=true; } if(flag) { System.out.println("No"); } else { System.out.println("Yes"); } } } }