ACM JAVA

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bengshakalakaka/article/details/79699736

提交文件:Main.java

代码格式:

public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	}

}

输入:

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;

public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//使用Scanner cin = new Scanner(System.in);速度可能略逊色于以下方法
		Scanner cin=new Scanner(new BufferedInputStream(System.in));
		//给定一整数t,代表t组样例
		int t=cin.nextInt();
		int a,b;
		String s;
		for(int i=0;i<t;i++) {
			a=cin.nextInt();
			b=cin.nextInt();
			s=cin.nextLine();
			System.out.println(a+b);
			System.out.println(s);
		}
		//给定多组数据,未说明输入几组数据
		while(cin.hasNext())
		{
			a=cin.nextInt();
			b=cin.nextInt();
			s=cin.nextLine();
			System.out.println(a+b);
			System.out.println(s);
		}
	}
}

小数输出:

1.类似与C++,%规范

double a=cin.nextDouble();
System.out.printf("%.2f\n",a);//四舍五入

2.利用DecimalFormat规范,可以解决大浮点数输出

DecimalFormat g = new DecimalFormat("0.00");
BigDecimal a;//大浮点数
a = cin.nextBigDecimal();
System.out.println(g.format(a));

数组:

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;

public class Main {
	public static void main(String[] args) {
		Scanner cin = new Scanner(new BufferedInputStream(System.in));
		// 以下为两种相同的定义数组的方式
		int[] a = new int[100 + 5];
		int b[] = new int[200];
		int value = cin.nextInt();
		// 初始化,JAVA中的Array类中提供了几种方法可以代替C++中的memset,sort,bsearch(二分搜索)
		Arrays.fill(a, 0);
		Arrays.sort(a);// 升序排序
		Arrays.sort(a, 0, 10);// 指定范围排序
		/*
		 * 二分查找value值;
		 *  如果value在数组中,则返回搜索值的索引;
		 * 否则返回-1或“-”(插入点);
		 * 插入点是索引键将要插入数组的那一点,即第一个大于该键的元素的索引
		 */
		Arrays.binarySearch(a, value);
	}
}

大数:

BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数 

主要有以下方法可以使用: 
BigInteger add(BigInteger other) //加法
BigInteger subtract(BigInteger other) //减法
BigInteger multiply(BigInteger other) //乘法
BigInteger divide(BigInteger other)//除法 
BigInteger mod(BigInteger other) //取余
int compareTo(BigInteger other) //比较,大于返回1,相同返回0,小于返回-1
static BigInteger valueOf(long x)//转化为大数

参考资料: https://blog.csdn.net/q3498233/article/details/5776028
BigInteger a=cin.nextBigInteger();
String s=a.toString();
String ss=new StringBuffer(s).reverse().toString();//字符串倒序

Scanner cin= new Scanner(System.in);
BigInteger a=cin.nextBigInteger();
int k;
k=cin.nextInt();
System.out.println(a.toString(k));//10进制转换成k进制
Scanner cin= new Scanner(System.in);
BigDecimal a=cin.nextBigDecimal();
System.out.println(a.stripTrailingZeros());//消去末尾不必要的零
System.out.println( a.toPlainString().replaceAll("^0", "") );//去掉小于1的小数点前的0
System.out.println(a.toString());//科学记数法
System.out.println(a.toPlainString());//正常转字符串,可以用a.strip....().toPaim.....()表示消去末尾不必要零的字符串
System.out.println(a.toEngineeringString());//工程计数?

输入两个整数m,n,找出等于或大于m的前n个素数

import java.util.*;
import java.io.*;
import java.text.*;
import java.math.*;
public class welcome {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner cin= new Scanner(System.in);
		BigInteger m=cin.nextBigInteger().subtract(BigInteger.ONE);
		int n=cin.nextInt();
		for(int i=0;i<n;i++)
		{
			m=m.nextProbablePrime();
			System.out.println(m);
		}
	}
}


猜你喜欢

转载自blog.csdn.net/bengshakalakaka/article/details/79699736
ACM