今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的
P2000.ASCII码排序
package hdu经典100题;
import java.util.Scanner;
public class P2000 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
String str = in.next();
int a = str.charAt(0);
int b = str.charAt(1);
int c = str.charAt(2);
int temp;
if(b>a) {
temp = a;
a = b;
b = temp;
}
if(c>a) {
temp = a;
a = c;
c = temp;
}
if(c>b) {
temp = b;
b = c;
c = temp;
}
System.out.println((char)c+" "+(char)b+" "+(char)a);
}
}
}
P2001.计算两点间的距离
package hdu经典100题;
import java.text.DecimalFormat;
import java.util.Scanner;
public class P2001 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
double x1 = in.nextDouble();
double y1 = in.nextDouble();
double x2 = in.nextDouble();
double y2 = in.nextDouble();
DecimalFormat decimalFormat = new DecimalFormat(".00");
System.out.println(decimalFormat.format(Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))));
}
}
}
P2002.计算球体积
package hdu经典100题;
import java.util.Scanner;
public class P2002 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
double r = in.nextDouble();
System.out.printf("%.3f\n",4.0/3.0*r*r*r*3.1415927);
}
}
}
P2003.求绝对值
package hdu经典100题;
import java.text.DecimalFormat;
import java.util.Scanner;
public class P2003 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
double num = in.nextDouble();
DecimalFormat decimalFormat = new DecimalFormat(".00");
System.out.println(decimalFormat.format(Math.abs(num)));
}
}
}
P2004.成绩转换
package hdu经典100题;
import java.util.Scanner;
public class P2004 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int grade = in.nextInt();
if(grade<0 || grade>100) {
System.out.println("Score is error!");
}else {
switch (grade / 10) {
case 10:
System.out.println("A");
break;
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
break;
default:
System.out.println("E");
break;
}
}
}
}
}
P2005.第几天?
package hdu经典100题;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class P2005 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
String date = in.next();
int year = Integer.valueOf(date.substring(0,4));
int month = Integer.valueOf(date.substring(5, date.lastIndexOf('/')));
int day = Integer.valueOf(date.substring(date.lastIndexOf('/')+1));
Calendar calendar = new GregorianCalendar(year, month-1, day);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
}
}
}
P2006.求奇数的乘积
package hdu经典100题;
import java.util.Scanner;
public class P2006 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int cj = 1;
while(n!=0) {
int num = in.nextInt();
if(num%2!=0) {
cj = cj * num;
}
n--;
}
System.out.println(cj);
}
}
}
P2007.平方和与立方和
package hdu经典100题;
import java.util.Scanner;
public class P2007 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int m = in.nextInt();
int n = in.nextInt();
int temp;
if(m>n) {
temp = m;
m = n;
n = temp;
}
int sumOu = 0;
int sumJi = 0;
for (int i = m; i <= n; i++) {
if(i%2==0) {
sumOu+=i*i;
}else {
sumJi+=i*i*i;
}
}
System.out.println(sumOu+" "+sumJi);
}
}
}
P2008.数值统计
package hdu经典100题;
import java.util.Scanner;
public class P2008 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
if(n==0) {
break;
}
int amountFu = 0;
int amountZreo = 0;
int amountZheng = 0;
while(n!=0) {
double num = in.nextDouble();
if(num==0) {
amountZreo++;
}else if (num<0) {
amountFu++;
}else {
amountZheng++;
}
n--;
}
System.out.println(amountFu+" "+amountZreo+" "+amountZheng);
}
}
}
P2009求数列的和
package hdu经典100题;
import java.text.DecimalFormat;
import java.util.Scanner;
public class P2009 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
double n = in.nextInt();
int m = in.nextInt()-1;
double sum = n;
while(m!=0) {
sum+=Math.sqrt(n);
n = Math.sqrt(n);
m--;
}
DecimalFormat format = new DecimalFormat(".00");
System.out.println(format.format(sum));
}
}
}
P2010.水仙花数
package hdu经典100题;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class P2010 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int m = in.nextInt();
int n = in.nextInt();
List<Integer> list = new ArrayList<>();
for (int i = m; i <=n; i++) {
String strNum = String.valueOf(i);
if(i==Integer.valueOf(String.valueOf(strNum.charAt(0)))*Integer.valueOf(String.valueOf(strNum.charAt(0)))*Integer.valueOf(String.valueOf(strNum.charAt(0)))
+Integer.valueOf(String.valueOf(strNum.charAt(1)))*Integer.valueOf(String.valueOf(strNum.charAt(1)))*Integer.valueOf(String.valueOf(strNum.charAt(1)))
+Integer.valueOf(String.valueOf(strNum.charAt(2)))*Integer.valueOf(String.valueOf(strNum.charAt(2)))*Integer.valueOf(String.valueOf(strNum.charAt(2)))
) {
list.add(i);
}
}
if(list.size()==0) {
System.out.println("no");
}else {
Collections.sort(list);
for (int i = 0; i < list.size()-1; i++) {
System.out.print(list.get(i)+" ");
}
System.out.println(list.get(list.size()-1));
}
}
}
}
P2011.多项式求和
package hdu经典100题;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class P2011 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int nums [] = new int [m];
for (int i = 0; i < nums.length; i++) {
nums[i] = in.nextInt();
}
List<Double> list = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
double sum =0;
for (int j = 1; j <=nums[i]; j++) {
if(j%2==0) {
sum+=(-1*1.0/j);
}else {
sum+=1.0/j;
}
}
list.add(sum);
}
DecimalFormat format = new DecimalFormat("0.00");
for (int i = 0; i < list.size(); i++) {
System.out.println(format.format(list.get(i)));
}
}
}
P2012.素数判定
package hdu经典100题;
import java.util.Arrays;
import java.util.Scanner;
public class P2012 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
//模拟
int [] nums = new int[3000];
nums[2] = 0;
nums[3] = 0;
nums[5] = 0;
for (int i = 2; i < nums.length; i++) {
int j=2;
if(nums[i]==0) {
for (; j*i < nums.length; j++) {
nums[j*i] = 1;
}
}
}
while(in.hasNext()) {
int x = in.nextInt();
int y = in.nextInt();
if(x==0 && y==0) {
break;
}
int i;
for ( i = x; i <=y; i++) {
if(nums[(i*i+i+41)]!=0) {
break;
}
}
if(i==y+1) {
System.out.println("OK");
}else {
System.out.println("Sorry");
}
}
}
}
P2013.蟠桃记
package hdu经典100题;
import java.util.Scanner;
public class P2013 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt()-1;
int amount = 1;
while(n!=0) {
amount = 2*(amount+1);
n--;
}
System.out.println(amount);
}
}
}
P2014.青年歌手大奖赛_评委会打分
package hdu经典100题;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class P2014 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
List<Double> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add(in.nextDouble());
}
Collections.sort(list);
list.remove(0);
list.remove(list.size()-1);
double sum = 0;
for (int i = 0; i < list.size(); i++) {
sum+=list.get(i);
}
DecimalFormat format = new DecimalFormat("0.00");
System.out.println(format.format(sum/list.size()));
}
}
}
P2015.偶数求和
package hdu经典100题;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class P2015 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int[] nums = new int[100];
nums[0] = 2;
for (int i = 1; i < nums.length; i++) {
nums[i] = nums[i-1]+2;
}
while(in.hasNext()) {
int n = in.nextInt();
int m = in.nextInt();
List<Integer> list = new ArrayList<>();
if(n%m==0) {
for (int i = 0; i < n; i+=m) {
int sum = 0;
for (int j = i; j < i+m;j++) {
sum+=nums[j];
}
list.add(sum/m);
}
}else {
int i = 0;
for (; i < n-(n%m); i+=m) {
int sum = 0;
for (int j = i; j < i+m;j++) {
sum+=nums[j];
}
list.add(sum/m);
}
int sum = 0;
m = n%m;
for (int j = i; j < n; j++) {
sum+=nums[j];
}
list.add(sum/m);
}
for (int i = 0; i < list.size()-1; i++) {
System.out.print(list.get(i)+" ");
}
System.out.println(list.get(list.size()-1));
}
}
}
P2016.数据的交换输出
package hdu经典100题;
import java.util.Scanner;
public class P2016 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
if(n==0) {
break;
}
int[] nums = new int [n];
nums[0] = in.nextInt();
int minIndex = 0;
int temp;
for (int i = 1; i < nums.length; i++) {
nums[i] = in.nextInt();
if(nums[i]<nums[minIndex]) {
minIndex = i;
}
}
temp = nums[minIndex];
nums[minIndex] = nums[0];
nums[0] = temp;
for (int i = 0; i < nums.length-1; i++) {
System.out.print(nums[i]+" ");
}
System.out.println(nums[nums.length-1]);
}
}
}
P2017.字符串统计
package hdu经典100题;
import java.util.Scanner;
public class P2017 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
while(n!=0) {
String str = in.next().toLowerCase();
int amount =0;
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)>='0' && str.charAt(i)<='9') {
amount++;
}
}
System.out.println(amount);
n--;
}
}
}
P2018.母牛的故事
package hdu经典100题;
import java.util.Scanner;
public class P2018 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
long[] amount = new long [54];
amount[0] = 1;
amount[1] = 2;
amount[2] = 3;
amount[3] = 4;
for (int i = 4; i < amount.length; i++) {
amount[i] = amount[i-1]+amount[i-3];
}
while(in.hasNext()) {
int n = in.nextInt();
if(n==0) {
break;
}
System.out.println(amount[n-1]);
}
}
}
P2019.数列有序!
package hdu经典100题;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class P2019 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int m = in.nextInt();
if(n==0 && m==0) {
break;
}
List<Integer> list = new ArrayList<>();
int insert = n;
boolean isJ = false;
for (int i = 0; i < n; i++) {
list.add(in.nextInt());
if(list.get(i)>=m && !isJ) {
insert = i;
isJ = true;
}
}
list.add(insert, m);
for (int i = 0; i < list.size()-1; i++) {
System.out.print(list.get(i)+" ");
}
System.out.println(list.get(list.size()-1));
}
}
}
P2020.绝对值排序
package hdu经典100题;
import java.util.Scanner;
public class P2020 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
if(n==0) {
break;
}
int[] nums = new int [n];
for (int i = 0; i < nums.length; i++) {
nums[i] = in.nextInt();
}
int temp;
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length-1-i; j++) {
if(Math.abs(nums[j+1])>Math.abs(nums[j])) {
temp = nums[j+1];
nums[j+1] = nums[j];
nums[j] = temp;
}
}
}
for (int i = 0; i < nums.length-1; i++) {
System.out.print(nums[i]+" ");
}
System.out.println(nums[nums.length-1]);
}
}
}
未完......(更新中)
版权声明
本人的所有原创文章皆保留版权,请尊重原创作品。
转载必须包含本声明,保持本文完整,并以超链接形式注明原始作者
联系方式
我的邮箱,欢迎来信([email protected])
我的CSDN博客(acDream_)