HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)
今年寒假打算用Java把杭电2000-2099全部AC(现在持续更新),如下是题目链接,之后是我的题解,全部做完后我会把所有AC的题解打包上传的
题号 | 题名 | 题号 | 题名 |
---|---|---|---|
2000 | ASCII码排序 | 2001 | 计算两点间的距离 |
2002 | 计算球体积 | 2003 | 求绝对值 |
2004 | 成绩转换 | 2005 | 第几天? |
2006 | 求奇数的乘积 | 2007 | 平方和与立方和 |
2008 | 数值统计 | 2009 | 求数列的和 |
2010 | 水仙花数 | 2011 | 多项式求和 |
2012 | 素数判定 | 2013 | 蟠桃记 |
2014 | 青年歌手大奖赛_评委会打分 | 2015 | 偶数求和 |
2016 | 数据的交换输出 | 2017 | 字符串统计 |
2018 | 母牛的故事 | 2019 | 数列有序! |
2020 | 绝对值排序 | 2021 | 发工资咯:) |
2022 | 海选女主角 | 2023 | 求平均成绩 |
2024 | C语言合法标识符 | 2025 | 查找最大元素 |
2026 | 首字母变大写 | 2027 | 统计元音 |
2028 | Lowest Common Multiple Plus | 2029 | Palindromes _easy version |
2030 | 汉字统计 | 2031 | 进制转换 |
2032 | 杨辉三角 | 2033 | 人见人爱A+B |
2034 | 人见人爱A-B | 2035 | 人见人爱A^B |
2036 | 改革春风吹满地 | 2037 | 今年暑假不AC |
2038 | test | 2039 | 三角形 |
2040 | 亲和数 | 2041 | 超级楼梯 |
2042 | 不容易系列之二 | 2043 | 密码 |
2044 | 一只小蜜蜂... | 2045 | 不容易系列之(3)—— LELE的RPG难题 |
2046 | 骨牌铺方格 | 2047 | 阿牛的EOF牛肉串 |
2048 | 神、上帝以及老天爷 | 2049 | 不容易系列之(4)——考新郎 |
2050 | 折线分割平面 | 2051 | Bitset |
2052 | Picture | 2053 | Switch Game |
2054 | A == B n | 2055 | An easy problem |
2056 | Rectangles | 2057 | A + B Again |
2058 | The sum problem | 2059 | 龟兔赛跑 |
2060 | Snooker | 2061 | Treasure the new start, freshmen! |
2062 | Subset sequence | 2063 | 过山车 |
2064 | 汉诺塔III | 2065 | "红色病毒"问题 |
2066 | 一个人的旅行 | 2067 | 小兔的棋盘 |
2068 | RPG的错排 | 2069 | Coin Change |
2070 | Fibbonacci Number | 2071 | Max Num |
2072 | 单词数 | 2073 | 无限的路 |
2074 | 叠筐 | 2075 | A|B? |
2076 | 夹角有多大(题目已修改,注意读题) | 2077 | 汉诺塔IV |
2078 | 复习时间 | 2079 | 选课时间(题目已修改,注意读题) |
2080 | 夹角有多大II | 2081 | 手机短号 |
2082 | 找单词 | 2083 | 简易版之最短距离 |
2084 | 数塔 | 2085 | 核反应堆 |
2086 | A1 = n | 2087 | 剪花布条 |
2088 | Box of Bricks | 2089 | 不要62 |
2090 | 算菜价 | 2091 | 空心三角形 |
2092 | 整数解 | 2093 | 考试排名 |
2094 | 产生冠军 | 2095 | find your present (2) |
2096 | 小明A+B | 2097 | Sky数 |
2098 | 分拆素数和 | 2099 | 整除的尾数 |
如下是2000-2099的题解代码,去掉包并把类名改为Main就可以提交
温馨提示:使用左边的目录查找你所需要查看的题目代码更快哦^-^
目录
P2000.ASCII码排序
P2001.计算两点间的距离
P2002.计算球体积
P2003.求绝对值
P2004.成绩转换
P2005.第几天?
P2006.求奇数的乘积
P2007.平方和与立方和
P2008.数值统计
P2009求数列的和
P2010.水仙花数
P2011.多项式求和
P2012.素数判定
P2013.蟠桃记
P2014.青年歌手大奖赛_评委会打分
P2015.偶数求和
P2016.数据的交换输出
P2017.字符串统计
P2018.母牛的故事
P2019.数列有序!
P2020.绝对值排序
P2021.发工资咯:)
P2022.海选女主角
P2023.求平均成绩
P2024.C语言合法标识符
P2025.查找最大元素
P2026.首字母变大写
P2027.统计元音
P2028.Lowest Common Multiple Plus
P2029.Palindromes _easy version
P2030.汉字统计
P2031.进制转换
P2032.杨辉三角
P2033.人见人爱A+B
P2034.人见人爱A-B
P2035.人见人爱A^B
P2037.今年暑假不AC
P2038.test
P2039.三角形
P2040.亲和数
P2041.超级楼梯
P2042.不容易系列之二
P2043.密码
P2044.一只小蜜蜂...
P2045.不容易系列之(3)—— LELE的RPG难题
P2046.骨牌铺方格
P2047.阿牛的EOF牛肉串
P2048.神、上帝以及老天爷
P2049.不容易系列之(4)——考新郎
P2050.折线分割平面
P2051.Bitset
P2052.Picture
P2053.Switch Game
P2054.A == B ?
P2055.An easy problem
P2057.A + B Again
P2058.The sum problem
P2070.Fibbonacci Number
P2071.Max Num
P2072.单词数
P2073.无限的路
P2074.叠筐
P2075.A|B?
P2076.夹角有多大(题目已修改,注意读题)
P2080.夹角有多大II
P2081.手机短号
P2085.核反应堆
P2086.A1 = ?
P2087.剪花布条
P2089.不要62
P2090.算菜价
P2091.空心三角形
P2092.整数解
P2094.产生冠军
P2095.find your present (2)
P2096.小明A+B
P2097.Sky数
P2098.分拆素数和
P2099.整除的尾数
未完......(更新中)
版权声明
联系方式
P2000.ASCII码排序
package hdu经典100题;import java.util.Scanner;public class P2000 {public static void main(String[] args) {// TODO Auto-generated method stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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 stubScanner 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]);}}}
P2021.发工资咯:)
package hdu经典100题;import java.util.Scanner;public class P2021 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int[] coins = new int[] {100,50,10,5,2,1};while(in.hasNext()) {int n = in.nextInt();if(n==0) {break;}int sum = 0;while(n!=0) {int num = in.nextInt();while(num>0) {for (int i = 0; i < coins.length; i++) {if(num-coins[i]>=0) {num = num - coins[i];sum++;break;}}}n--;}System.out.println(sum);}}
}
P2022.海选女主角
package hdu经典100题;import java.util.Scanner;public class P2022 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {int m = in.nextInt();int n = in.nextInt();int[][] grades = new int[m][n];for (int i = 0; i < grades.length; i++) {for (int j = 0; j < grades[i].length; j++) {grades[i][j] = in.nextInt();}}int maxX = 0;int maxY = 0;for (int i = 0; i < grades.length; i++) {for (int j = 0; j < grades[i].length; j++) {if(Math.abs(grades[i][j])>Math.abs(grades[maxX][maxY])) {maxX = i;maxY = j;}}}System.out.println((maxX+1)+" "+(maxY+1)+" "+grades[maxX][maxY]);}}}
P2023.求平均成绩
package hdu经典100题;import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Scanner;public class P2023 {public static void main(String[] args) {Scanner in=new Scanner(System.in);DecimalFormat df = new DecimalFormat("0.00");df.setRoundingMode(RoundingMode.HALF_UP);while(in.hasNext()){int n = in.nextInt();int m = in.nextInt();if (n == 0 && m == 0) break;int students[][] = new int[n][m];double classes [] = new double[m];for (int i = 0 ; i < n ; i ++){for (int k = 0 ; k < m ; k++) {Integer score = in.nextInt();students[i][k] = score;classes[k] += score;}}for (int i = 0 ; i < classes.length ; i ++) {classes[i] = classes[i] / n; //课程平均成绩}int count = 0;String studentAvg ="";String classAvg = "";for (int i = 0 ; i < n ; i ++) {double sum = 0;boolean excellentFlag = true;for (int k = 0 ; k < m ; k ++) {sum += students[i][k];if (students[i][k] < classes[k]) {excellentFlag = false;}}if (excellentFlag) {count ++;}studentAvg += df.format(sum / m) + " ";}for (int i = 0 ; i < m ; i ++) {classAvg += df.format(classes[i]) + " ";}System.out.println(studentAvg.trim());System.out.println(classAvg.trim());System.out.println(count);System.out.println();}}
}
P2024.C语言合法标识符
package hdu经典100题;import java.util.Scanner;public class P2024 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();in.nextLine();while(n!=0) {boolean isHf = true;String str = in.nextLine().toLowerCase();if((str.charAt(0)<'a' || str.charAt(0)>'z') && !(str.charAt(0)=='_')) {isHf = false;}else {if( str.equals("main") ||str.equals("float") || str.equals("auto") ||str.equals("break") ||str.equals("case") ||str.equals("this") ||str.equals("try") ||str.equals("for") ||str.equals("while") ||str.equals("int") ||str.equals("char") ||str.equals("short") ||str.equals("unsigned") ||str.equals("printf") ||str.equals("scanf")) {isHf = false;}else {for (int i = 1; i < str.length(); i++) {if(str.charAt(i)>='a' && str.charAt(i)<='z') {continue;}else if(str.charAt(i)>='0' && str.charAt(i)<='9'){continue;}else if(str.charAt(i)=='_') {continue;}else {isHf = false;break;}}}}if(isHf) {System.out.println("yes");}else {System.out.println("no");} n--;}}}
P2025.查找最大元素
package hdu经典100题;import java.util.Scanner;public class P2025 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while (in.hasNext()) {StringBuffer str = new StringBuffer("");str.append(in.next());char maxWord = str.charAt(0);for (int i = 0; i < str.length(); i++) {if (str.charAt(i) > maxWord) {maxWord = str.charAt(i);}}int[] maxNum = new int[100];int j = 0;for (int i = 0; i < str.length(); i++) {if (str.charAt(i) == maxWord) {maxNum[j++] = i;}}for (int i = 0; i < str.length(); i++) {int k;for (k = 0; k < j; k++) {if (maxNum[k] == i) {System.out.print(str.charAt(i) + "(max)");break;}}if (k == j) {System.out.print(str.charAt(i));}}System.out.println();}}
}
P2026.首字母变大写
package hdu经典100题;import java.util.Scanner;public class P2026 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {StringBuffer buffer = new StringBuffer(in.nextLine());buffer.setCharAt(0, (char)(buffer.charAt(0)-32));for (int i = 1; i < buffer.length()-1; i++) {if(buffer.charAt(i)==' ') {buffer.setCharAt(i+1, (char)(buffer.charAt(i+1)-32));}}System.out.println(buffer.toString());}}}
P2027.统计元音
package hdu经典100题;import java.util.Scanner;public class P2027 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();in.nextLine();while (n != 0) {int[] nums = new int[5];String str = in.nextLine().toLowerCase();for (int i = 0; i < str.length(); i++) {switch (str.charAt(i)) {case 'a':nums[0]++;break;case 'e':nums[1]++;break;case 'i':nums[2]++;break;case 'o':nums[3]++;break;case 'u':nums[4]++;break;}}for (int i = 0; i < nums.length; i++) {switch (i) {case 0:System.out.println("a:"+nums[i]);break;case 1:System.out.println("e:"+nums[i]);break;case 2:System.out.println("i:"+nums[i]);break;case 3:System.out.println("o:"+nums[i]);break;case 4:System.out.println("u:"+nums[i]);break;}}if((n-1)!=0)System.out.println();n--;}}}
P2028.Lowest Common Multiple Plus
package hdu经典100题;import java.util.Arrays;
import java.util.Scanner;
/*** 使用最大数翻倍法* @author Geek* @version 1.0* @date 2018年8月7日 下午12:41:52* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2028 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {int n = in.nextInt();int[] nums = new int[n];for (int i = 0; i < nums.length; i++) {nums[i] = in.nextInt();}Arrays.sort(nums);int result = 1;for (int i = 1;; i++) {int j=0;for (j = 0; j < nums.length-1; j++) {if(i*nums[nums.length-1]%nums[j]!=0) {break;}}if(j==nums.length-1) {result = i*nums[nums.length-1];break;}}System.out.println(result);} }}
P2029.Palindromes _easy version
package hdu经典100题;import java.util.Scanner;public class P2029 {public static boolean isHw(String str) {boolean isTrue = true;for (int i = 0; i < str.length()/2; i++) {if(str.charAt(i)!=str.charAt(str.length()-i-1)) {isTrue = false;break;}}return isTrue;}public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();in.nextLine();while(n!=0) {String str = in.nextLine();if(isHw(str)) {System.out.println("yes");}else {System.out.println("no");}n--;}}
}
P2030.汉字统计
package hdu经典100题;import java.util.Scanner;
/*** 不是可显示字符的就是汉字* @author Geek* @version 1.0* @date 2018年8月7日 下午7:57:07* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2030 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();in.nextLine();while(n!=0) {String str = in.nextLine();int sum = 0;for (int i = 0; i < str.length(); i++) {if((int)str.charAt(i)<0 || (int)str.charAt(i)>127) {sum++;}}System.out.println(sum);n--;}}}
P2031.进制转换
package hdu经典100题;import java.util.Scanner;public class P2031 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {int N = in.nextInt();int R = in.nextInt();System.out.println(Integer.toString(N, R).toString().toUpperCase());}}}
P2032.杨辉三角
package hdu经典100题;import java.util.Scanner;public class P2032 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int n = sc.nextInt();int t = 0;int[][] arr = new int[30][30];arr[0][0] = 1;arr[0][1] = 1;arr[1][1] = 1;if (t > 0) {System.out.println();}for (int i = 0; i < n; i++) {// 层数arr[i][0] = 1;arr[i][n - 1] = 1;for (int j = 0; j <= i; j++) {// 第几个if (i == 0) {System.out.print("1");break;} else {if (i == 1) {System.out.print("1" + " " + "1");break;} else {if (j == 0) {arr[i][j] = 1;System.out.print(arr[i][j] + " ");}if (j >= 1 && j < i) {arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];System.out.print(arr[i][j] + " ");}if (j == i) {arr[i][j] = 1;System.out.print("1");}}}}System.out.println();}System.out.println();t++;}}
}
P2033.人见人爱A+B
package hdu经典100题;import java.util.Scanner;public class P2033 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int N = in.nextInt();while (N != 0) {int[] times = new int[6];for (int i = 0; i < times.length; i++) {times[i] = in.nextInt();}int[] sumtimes = new int[3];if (times[2] + times[5] > 59) {sumtimes[2] = times[2] + times[5] - 60;times[1]++;} else {sumtimes[2] = times[2] + times[5];}if (times[1] + times[4] > 59) {sumtimes[1] = times[1] + times[4] - 60;times[0]++;} else {sumtimes[1] = times[1] + times[4];}sumtimes[0] = times[0] + times[3];for (int i = 0; i < sumtimes.length-1; i++) {System.out.print(sumtimes[i] + " ");}System.out.println(sumtimes[sumtimes.length-1]);N--;}}}
P2034.人见人爱A-B
package hdu经典100题;import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;public class P2034 {/*** 只属于集合A的元素不属于集合B的元素叫两个集合的差* @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {int n = in.nextInt();int m = in.nextInt();if(n==0 && m==0) {break;}Set<Integer> set = new TreeSet<>();for (int i = 0; i < n; i++) {set.add(in.nextInt());}int[] nums = new int[m];for (int i = 0; i < nums.length; i++) {nums[i] = in.nextInt();}for (int i = 0; i < nums.length; i++) {if(set.contains(nums[i])) {set.remove(nums[i]);}}if(set.size()==0) {System.out.println("NULL");}else {for (int i:set) {System.out.print(i+" ");}System.out.println();}}}}
P2035.人见人爱A^B
package hdu经典100题;import java.math.BigInteger;
import java.util.Scanner;public class P2035 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {BigInteger A = in.nextBigInteger();int B = in.nextInt();if(A.toString().equals("0") && B==0) {break;}String str = A.pow(B).toString();if(str.length()-3>=0) {System.out.println(Integer.valueOf(str.substring(str.length()-3)));}else {System.out.println(str);}}}
}
P2037.今年暑假不AC
package hdu经典100题;import java.util.Scanner;
/*** 贪心算法,把结束时间按升序排列,然后下一个开始时间如果比前一个结束时间大的话计数器就加1* @author Geek* @version 1.0* @date 2018年8月9日 下午10:52:00* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2037 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {int n = in.nextInt();if(n==0) {break;}int[][] times = new int[n][2];for (int i = 0; i < times.length; i++) {for (int j = 0; j < times[i].length; j++) {times[i][j] = in.nextInt();}}int temp;for (int i = 0; i < times.length; i++) {for (int j = 0; j < times.length-i-1; j++) {if(times[j][1]>times[j+1][1]) {temp = times[j][1];times[j][1] = times[j+1][1];times[j+1][1] = temp;temp = times[j][0];times[j][0] = times[j+1][0];times[j+1][0] = temp;}}}int sum = 1;int k = 0;for (int i = 1; i < times.length; i++) {if(times[i][0]>=times[k][1]) {k = i;sum++;}}System.out.println(sum);}}}
P2038.test
//我没找到题目=-=
P2039.三角形
package hdu经典100题;import java.util.Scanner;
/*** 题目的坑点就在于要定义一个实数* @author Geek* @version 1.0* @date 2018年8月9日 下午10:10:35* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2039 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int M = in.nextInt();while(M!=0) {double A = in.nextDouble();double B = in.nextDouble();double C = in.nextDouble();if(A+B>C && B+C>A && C+A>B) {System.out.println("YES");}else {System.out.println("NO");}M--;}}}
P2040.亲和数
package hdu经典100题;import java.util.Scanner;public class P2040 {public static boolean isQhs(int A,int B) {int sum = 1;for (int i = 2; i < Math.sqrt(A); i++) {if(A%i==0) {sum = sum+i+(A/i);}}if((int)Math.sqrt(A)*(int)Math.sqrt(A)==A) {sum+=Math.sqrt(A);}if(sum==B) {return true;}return false;}public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int M = in.nextInt();while(M!=0) {int A = in.nextInt();int B = in.nextInt();int temp;if(A>B) {temp = A;A = B;B = temp;}if(isQhs(A, B)) {System.out.println("YES");}else {System.out.println("NO");}M--;}}}
P2041.超级楼梯
package hdu经典100题;import java.util.Scanner;
/*** 斐波那契数列* @author Geek* @version 1.0* @date 2018年8月9日 下午10:55:46* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2041 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int N = in.nextInt();int [] jtNum = new int[40];jtNum[0] = 0;jtNum[1] = 1;jtNum[2] = 2;for (int i = 3; i < jtNum.length; i++) {jtNum[i] = jtNum[i-1]+jtNum[i-2];}while(N!=0) {int M = in.nextInt();System.out.println(jtNum[M-1]);N--;}}
}
P2042.不容易系列之二
package hdu经典100题;import java.util.Scanner;public class P2042 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int N = in.nextInt();while(N!=0) {int a = in.nextInt();int num = 3;while(a!=0) {num = 2*(num-1);a--;}System.out.println(num);N--;}}
}
P2043.密码
package hdu经典100题;import java.util.Scanner;public class P2043 {private static void judge(String pwd) {boolean isSafe = true;if (pwd.length() < 8 || pwd.length() > 16) {isSafe = false;} else {int score = 0;if (pwd.matches(".*[A-Z]+.*")) // 大写字母score++;if (pwd.matches(".*[a-z]+.*")) // 小写字母score++;if (pwd.matches(".*[0-9]+.*")) // 数字score++;if (pwd.matches(".*[~!@#\\$%\\^]+.*")) // ~,!,@,#,$,%,^;score++;// 密码中的字符应该来自下面“字符类别”中四组中的至少三组if (score < 3)isSafe = false;}System.out.println(isSafe ? "YES" : "NO");}public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int M = in.nextInt();in.nextLine();while (M-- > 0)judge(in.nextLine());}}
P2044.一只小蜜蜂...
package hdu经典100题;import java.util.Scanner;public class P2044 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);long[] nums = new long[49];nums[0] = 1;nums[1] = 2;for (int i = 2; i < nums.length; i++) {nums[i] = nums[i-1]+nums[i-2];}int N = in.nextInt();while(N!=0) {int a = in.nextInt();int b = in.nextInt();System.out.println(nums[b-a-1]);N--;}}}
P2045.不容易系列之(3)—— LELE的RPG难题
递推分析
package hdu经典100题;import java.util.Scanner;public class P2045 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);long[] nums = new long[50];nums[0] = 3;nums[1] = 6;nums[2] = 6;for (int i = 3; i < nums.length; i++) {nums[i] = nums[i-1]+nums[i-2]*2;}while(in.hasNext()) {int n = in.nextInt();System.out.println(nums[n-1]);}}}
P2046.骨牌铺方格
package hdu经典100题;import java.util.Scanner;
/*** 分析:* 1.如果最后一块是竖块,所有的可能就是前面n-1种* 2.如果最后一块是横块,那么所有可能就是前面的n-2种* @author Geek* @version 1.0* @date 2018年8月11日 下午7:55:01* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2046 {public static void main(String[] args) {Scanner in = new Scanner(System.in);long[] nums = new long[50];nums[0] = 1;nums[1] = 2;nums[2] = 3;for (int i = 3; i < nums.length; i++) {nums[i] = nums[i-1]+nums[i-2];}while(in.hasNext()) {int n = in.nextInt();System.out.println(nums[n-1]);}}
}
P2047.阿牛的EOF牛肉串
package hdu经典100题;import java.util.Scanner;
/** 分析:* 1.如果最后一个字母是E或者F,那么就有2*(n-1)种可能* 2.如果最后一个字母是O的话,那么倒数第二个字母可能是E或者F,那么就有就有2*(n-2)种可能* @author Geek* @version 1.0* @date 2018年8月11日 下午8:21:45* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2047 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);long[] nums = new long[39];nums[0]=3;nums[1]=8;for (int i = 2; i < nums.length; i++) {nums[i] = 2*(nums[i-1]+nums[i-2]);}while(in.hasNext()) {int n = in.nextInt();System.out.println(nums[n-1]);}}}
P2048.神、上帝以及老天爷
错排公式的分析
package hdu经典100题;import java.text.DecimalFormat;
import java.util.Scanner;
/*** 使用错排公式f[n]=(n-1)*(f[n-1]+f[n-2])* @author Geek* @version 1.0* @date 2018年8月11日 下午9:55:32* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2048 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int C = in.nextInt();DecimalFormat decimalFormat = new DecimalFormat("0.00%");double[] nums = new double[21];nums[2] = 1;nums[3] = 2;for (int i = 4; i < nums.length; i++) {nums[i] = (i-1)*(nums[i-1]+nums[i-2]);}while(C!=0) {int n = in.nextInt();double jc = 1;for (int i = 2; i < n+1; i++) {jc*=i;}System.out.println(decimalFormat.format(nums[n]/jc));C--;}}
}
P2049.不容易系列之(4)——考新郎
package hdu经典100题;import java.util.Scanner;
/*** 不要忘记组合中的错排了* @author Geek* @version 1.0* @date 2018年8月30日 上午9:34:43* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2049 {public static void main(String[] args) {Scanner in = new Scanner(System.in);long[] nums = new long[21];nums[2] = 1;nums[3] = 2;for (int i = 4; i < nums.length; i++) {nums[i] = (i - 1) * (nums[i - 1] + nums[i - 2]);}int C = in.nextInt();while (C != 0) {int M = in.nextInt();int N = in.nextInt();if (M == N) {System.out.println(nums[N]);} else {long resultTop = 1;long resultDown = 1;for (int i = M; i > N; i--) {resultTop *= i;}for (int i = 1; i <= (M - N); i++) {resultDown *= i;}System.out.println(nums[N] * resultTop / resultDown);}C--;}}
}
P2050.折线分割平面
package hdu经典100题;import java.util.Scanner;public class P2050 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int C = in.nextInt();long[] nums = new long[10000];nums[0]=2;nums[1]=7;long k = 5;for (int i = 2; i < nums.length; i++) {nums[i] = nums[i-1]+(k+4);k=k+4;}while(C!=0) {int n = in.nextInt();System.out.println(nums[n-1]);C--;}}
}
P2051.Bitset
package hdu经典100题;import java.util.Scanner;public class P2051 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {System.out.println(Integer.toString(in.nextInt(), 2));}}}
P2052.Picture
package hdu经典100题;import java.util.Scanner;public class P2052 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {int weight = in.nextInt();int height = in.nextInt();for (int i = 0; i < height+2; i++) {if(i==0 || i==height+1) {System.out.print("+");for (int j = 0; j < weight; j++) {System.out.print("-");}System.out.println("+");}else {System.out.print("|");for (int j = 0; j < weight; j++) {System.out.print(" ");}System.out.println("|");}}System.out.println();}}
}
P2053.Switch Game
package hdu经典100题;import java.util.Scanner;public class P2053 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {int n = in.nextInt();int zt = 0;for (int i = 1; i <=n; i++) {if(n%i==0) {if(zt==1) {zt=0;}else {zt=1;}}}System.out.println(zt);}}
}
P2054.A == B ?
package hdu经典100题;import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
/*** 坑B,忘记了精度* @author Geek* @version 1.0* @date 2018年8月12日 下午9:53:23* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2054 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {BigDecimal A = in.nextBigDecimal();BigDecimal B = in.nextBigDecimal();if(A.compareTo(B)==0) {System.out.println("YES");}else {System.out.println("NO");}}}
}
P2055.An easy problem
package hdu经典100题;import java.util.Scanner;public class P2055 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int T = in.nextInt();while(T!=0) {char c = in.next().charAt(0);int num = in.nextInt();if(c>='A' && c<='Z') {System.out.println((c-64+num));}else if(c>='a' && c<='z') {System.out.println(-(c-96)+num);}T--;}}
}
P2057.A + B Again
package hdu经典100题;import java.util.Scanner;public class P2057 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {String A = in.next();String B = in.next();System.out.println(Long.toString(Long.valueOf(A, 16)+Long.valueOf(B, 16), 16).toUpperCase());}}}
P2058.The sum problem
解题传送门
package hdu经典100题;import java.util.Scanner;public class P2058 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {long N = in.nextLong();long M = in.nextLong();if(N==0 && M==0) {break;} for (long i = (long) Math.sqrt(2*M); i>0; i--) {N = ((2*M)/i+1-i)/2;if((2*N+i-1)*i/2==M) {System.out.println("["+N+","+(N+i-1)+"]");}}System.out.println();}}}
P2070.Fibbonacci Number
package hdu经典100题;import java.util.Scanner;public class P2070 {public static void main(String[] args) {Scanner in = new Scanner(System.in);long[] nums = new long[51];nums[0] = 0;nums[1] = 1;for (int i = 2; i < nums.length; i++) {nums[i] = nums[i-1]+nums[i-2];}while(in.hasNext()) {int n = in.nextInt();if(n==-1) {break;}System.out.println(nums[n]);}}
}
P2071.Max Num
package hdu经典100题;import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;public class P2071 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();List<Double> list = new ArrayList<>();DecimalFormat decimalFormat = new DecimalFormat("0.00");while(n!=0) {int k = in.nextInt();for (int i = 0; i < k; i++) {list.add(in.nextDouble());}Collections.sort(list);System.out.println(decimalFormat.format(list.get(list.size()-1)));list.clear();n--;}}
}
P2072.单词数
package hdu经典100题;import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;public class P2072 {public static void main(String[] args) {Scanner in = new Scanner(System.in);Set<String> set = new TreeSet<>();while(in.hasNext()) {String str = in.nextLine();if(str.equals("#")) {break;}String[] s = str.split(" ");for (String string : s) {if(!string.equals("")) {set.add(string);}}System.out.println(set.size());set.clear();}}
}
P2073.无限的路
分析传送门
package hdu经典100题;import java.text.DecimalFormat;
import java.util.Scanner;public class P2073 {private static final double sqrt2 = Math.sqrt(2);public static void main(String[] args) {Scanner in = new Scanner(System.in);double[] nums = new double[201];nums[0] = 0;nums[1] = 1;for (int i = 2; i < nums.length; i++) {nums[i] = nums[i-1]+(i-1)*(sqrt2)+Math.sqrt(Math.pow(i, 2)+Math.pow(i-1, 2));}DecimalFormat format = new DecimalFormat("0.000");int n = in.nextInt();while(n!=0) {double x1 = in.nextDouble();double y1 = in.nextDouble();double x2 = in.nextDouble();double y2 = in.nextDouble();double sum1 = nums[(int) (x1+y1)]+Math.sqrt(Math.pow(x1, 2)+Math.pow(x1, 2));double sum2 = nums[(int) (x2+y2)]+Math.sqrt(Math.pow(x2, 2)+Math.pow(x2, 2));System.out.println(format.format(Math.abs(sum2-sum1)));n--;}}
}
P2074.叠筐
分析传送门
package hdu经典100题;import java.util.Scanner;public class P2074 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int count = 0;while (in.hasNext()) {int n = in.nextInt();if(count!=0) {System.out.println();}char centerChar = in.next().charAt(0);char outChar = in.next().charAt(0);if(n==1) {System.out.println(centerChar);continue;}String[] dk = new String[(n + 1) / 2];char temp;if (((n + 1) / 2) % 2 == 0) {temp = centerChar;centerChar = outChar;outChar = temp;}StringBuilder builder = new StringBuilder();for (int i = 0; i < n; i++) {if (i == 0 || i == n - 1) {builder.append(" ");} else {builder.append(centerChar);}}dk[0] = builder.toString();StringBuilder stringBuilder = new StringBuilder();for (int i = 0; i < n; i++) {if (i == 0 || i == n - 1) {stringBuilder.append(centerChar);} else {stringBuilder.append(outChar);}}for (int i = 1; i < dk.length; i++) {if(i==1) {dk[i] = stringBuilder.toString();}else {StringBuilder str = new StringBuilder();char pj;if(i%2==0) {pj = centerChar;}else {pj = outChar;}for (int j = i; j < n-i; j++) {str.append(pj);}stringBuilder.replace(i, n-i, str.toString());dk[i] = stringBuilder.toString();}}for (int i = 0; i < dk.length; i++) {System.out.println(dk[i]);}for (int i = dk.length-2; i>=0; i--) {System.out.println(dk[i]);}count++;}}
}
P2075.A|B?
package hdu经典100题;import java.math.BigInteger;
import java.util.Scanner;public class P2075 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int T = in.nextInt();BigInteger A;BigInteger B;while(T!=0) {A = in.nextBigInteger();B = in.nextBigInteger();if(A.mod(B).toString().equals("0")) {System.out.println("YES");}else {System.out.println("NO");}T--;}}
}
P2076.夹角有多大(题目已修改,注意读题)
package hdu经典100题;import java.util.Scanner;
/*** WA了好几次,终于发现了除的时候忘加了精度* @author Geek* @version 1.0* @date 2018年8月15日 下午3:06:23* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2076 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int T = in.nextInt();while(T!=0) {int h = in.nextInt();int m = in.nextInt();int s = in.nextInt();if(h>=12) {h = h-12;}double jj1 = 30*h+0.5*m+s/120.0;double jj2 = m*6+0.1*s;double k = Math.abs(jj1-jj2);if(k>180) {k=360-k;}System.out.println((int)k);T--;}}
}
P2080.夹角有多大II
package hdu经典100题;import java.text.DecimalFormat;
import java.util.Scanner;public class P2080 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int T = in.nextInt();DecimalFormat format = new DecimalFormat("0.00");while(T!=0) {double x1 = in.nextDouble();double y1 = in.nextDouble();double x2 = in.nextDouble();double y2 = in.nextDouble();double jj1 = 0;double jj2 = 0;if(x1==0 && y1>0) {jj1 = 90;}else if (x1==0 && y1<0) {jj1 = 270;}else if (y1==0 && x1>0) {jj1 = 0;}else if (y1==0 && x1<0) {jj1 = 180;}else if (x1<0 && y1>0 || x1<0 && y1<0) {jj1 = 180+Math.toDegrees(Math.atan(y1/x1));}else if (x1>0 && y1<0) {jj1 = 360+Math.toDegrees(Math.atan(y1/x1));}else {jj1 = Math.toDegrees(Math.atan(y1/x1));}if(x2==0 && y2>0) {jj2 = 90;}else if (x2==0 && y2<0) {jj2 = 270;}else if (y2==0 && x2>0) {jj2 = 0;}else if (y2==0 && x2<0) {jj2 = 180;}else if (x2<0 && y2>0 || x2<0 && y2<0) {jj2 = 180+Math.toDegrees(Math.atan(y2/x2));}else if (x1>0 && y1<0) {jj2 = 360+Math.toDegrees(Math.atan(y2/x2));}else {jj2 = Math.toDegrees(Math.atan(y2/x2));}double result = Math.abs(jj2-jj1);if(result>180) {result = 360-result;}System.out.println(format.format(result));T--;}}
}
P2081.手机短号
package hdu经典100题;import java.util.Scanner;public class P2081 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int N = in.nextInt();while(N!=0) {String str = in.next();System.out.println(6+str.substring(str.length()-5));N--;}}
}
P2085.核反应堆
package hdu经典100题;import java.util.Scanner;public class P2085 {public static void main(String[] args) {Scanner in = new Scanner(System.in);long[] numHigh = new long[34];long[] numLow = new long[34];numHigh[0] = 1;for (int i = 1; i < numLow.length; i++) {numHigh[i] = numHigh[i-1]*3+numLow[i-1]*2;numLow[i] = numHigh[i-1]+numLow[i-1];}while(in.hasNext()) {int n = in.nextInt();if(n==-1) {break;}System.out.println(numHigh[n]+", "+numLow[n]);}}
}
P2086.A1 = ?
分析传送门
package hdu经典100题;import java.text.DecimalFormat;
import java.util.List;
import java.util.Scanner;public class P2086 {public static void main(String[] args) {Scanner in = new Scanner(System.in);DecimalFormat format = new DecimalFormat("0.00");while(in.hasNext()) {int n = in.nextInt();double a0 = in.nextDouble();double anAdd1 = in.nextDouble();double[] nums = new double[n];for (int i = 0; i < nums.length; i++) {nums[i] = in.nextDouble();}double result = n*a0+anAdd1;int j = 2*n;for (int i = 0; i < nums.length; i++) {result = result - j*nums[i];j=j-2;}System.out.println(format.format(result/(n+1)));}}
}
P2087.剪花布条
package hdu经典100题;import java.util.Scanner;public class P2087 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {String str = in.next();if (str.equals("#")) {break;}String sub = in.next();int sum = 0;for (int i = 0; i < str.length(); i++) {if (i + sub.length() <= str.length()) {if (str.substring(i, i + sub.length()).equals(sub)) {sum++;i = i + sub.length()-1;}}}System.out.println(sum);}}
}
P2089.不要62
package hdu经典100题;import java.util.Scanner;
/*** MLE,搞了半天发现自己数组多打了一个1....然后内存就超了* @author Geek* @version 1.0* @date 2018年8月19日 上午9:59:56* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2089 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int[] nums = new int[1000001];for (int i = 0; i <nums.length; i++) {String str = String.valueOf(i);if(str.contains("4") || str.contains("62")) {nums[i] = 1;}}while(in.hasNext()) {int n = in.nextInt();int m = in.nextInt();if(n==0 && m==0) {break;}int sum = m-n+1;for (int i = n; i <=m; i++) {if(nums[i]==1) {sum--;}}System.out.println(sum);}}}
P2090.算菜价
package hdu经典100题;import java.text.DecimalFormat;
import java.util.Scanner;public class P2090 {public static void main(String[] args) {Scanner in = new Scanner(System.in);double sum = 0;DecimalFormat format = new DecimalFormat("0.0");while(in.hasNext()) {String str = in.next();double num = in.nextDouble();double price = in.nextDouble();sum+=num*price;}System.out.println(format.format(sum));}
}
P2091.空心三角形
package hdu经典100题;import java.util.Scanner;
/*** 题面可能描述的有问题???输入的第一个测试与打印直接没有空格,其他都有* @author Geek* @version 1.0* @date 2018年8月21日 下午9:10:43* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2091 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int sum = 0;while(in.hasNext()) {char c = in.next().charAt(0);if(c=='@') {break;}int n = in.nextInt();sum++;if(sum!=1) {System.out.println();}for (int i = 0; i < n; i++) { if(i==n-1) {for (int j = 0; j < 2*n-1; j++) {System.out.print(c);}System.out.println();}else if (i==0) {for (int j = 0; j < n-1-i; j++) {System.out.print(" ");}System.out.println(c);}else {for (int j = 0; j < n-1-i; j++) {System.out.print(" ");}System.out.print(c);for (int j = 0; j < 2*i-1; j++) {System.out.print(" ");}System.out.println(c);}}}}
}
P2092.整数解
package hdu经典100题;import java.util.Scanner;public class P2092 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {int sum = in.nextInt();int cj = in.nextInt();if(sum==0 && cj==0) {break;}if(Math.pow(sum, 2)-4*cj>=0) {double result = -sum+Math.sqrt(Math.pow(sum, 2)-4*cj);if(result%2==0) {System.out.println("Yes");}else{System.out.println("No");} }else {System.out.println("No");}}}
}
P2094.产生冠军
package hdu经典100题;import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;public class P2094 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {Set<String> setA = new TreeSet<>();Set<String> set = new TreeSet<>();int n = in.nextInt();if(n==0) {break;}for (int i = 0; i < n; i++) {String winer = in.next();String loser = in.next();set.add(winer);set.add(loser);setA.add(loser);}if(setA.size()==set.size()-1) {System.out.println("Yes");}else {System.out.println("No");}}}}
P2095.find your present (2)
具体分析
package hdu经典100题;import java.util.Scanner;public class P2095 {public static void main(String[] args) {Scanner in = new Scanner(System.in);while(in.hasNext()) {int n = in.nextInt();if(n==0) {break;}int result = 0;for (int i = 0; i < n; i++) {result^=in.nextInt();}System.out.println(result);}}
}
P2096.小明A+B
package hdu经典100题;import java.util.Scanner;
/*** 题意有问题* @author Geek* @version 1.0* @date 2018年8月15日 下午6:14:48* @TextDemo I hava a acDream* @copyright * @remark*/
public class P2096 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int T = in.nextInt();while(T!=0) {int A = in.nextInt()%100;int B = in.nextInt()%100;System.out.println((A+B)%100); T--;}}
}
P2097.Sky数
package hdu经典100题;import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class P2097 {static Map<Character, Integer> map = new HashMap<>();public static boolean isSky(int num) {int k = num;int sumTen = 0;//10进制while(k!=0) {sumTen+=k%10;k=k/10;}//十六进制String hash = Integer.toHexString(num).toUpperCase();int sumHash = 0;for (int i = 0; i < hash.length(); i++) {sumHash+=map.get(hash.charAt(i));}//十二进制String teString = Integer.toString(num, 12).toUpperCase();int sumTe = 0;for (int i = 0; i < teString.length(); i++) {sumTe+=map.get(teString.charAt(i));}if(sumTen==sumHash && sumTen==sumTe) {return true;}return false;}public static void main(String[] args) {Scanner in = new Scanner(System.in);map.put('0', 0);map.put('1', 1);map.put('2', 2);map.put('3', 3);map.put('4', 4);map.put('5', 5);map.put('6', 6);map.put('7', 7);map.put('8', 8);map.put('9', 9);map.put('A', 10);map.put('B', 11);map.put('C', 12);map.put('D', 13);map.put('E', 14);map.put('F', 15);while(in.hasNext()) {int num = in.nextInt();if(num==0) {break;}if (isSky(num)) {System.out.println(num+" is a Sky Number.");}else {System.out.println(num+" is not a Sky Number.");}}}
}
P2098.分拆素数和
package hdu经典100题;import java.util.Arrays;
import java.util.Scanner;public class P2098 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int[] nums = new int[10001];nums[0] = 1;nums[1] = 1;nums[2] = 0;nums[3] = 0;nums[5] = 0;for (int i = 2; i < nums.length; i++) {if(nums[i]==0) {for (int j = 2; i*j < nums.length; j++) {nums[i*j] = 1;}}}while(in.hasNext()) {int num = in.nextInt();int sum = 0;if(num==0) {break;}for (int i = 2; i <num/2; i++) {if(nums[i]==0 && nums[num-i]==0) {sum++;}}System.out.println(sum);}}
}
P2099.整除的尾数
package hdu经典100题;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class P2099 {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);while(in.hasNext()) {List<String> list = new ArrayList<>();long A = in.nextLong();long B = in.nextLong();if(A==0 && B==0) {break;}for (int i = 0; i < 100; i++) {String s;if(i<10) {s = "0"+i;}else {s = String.valueOf(i);}if(Long.valueOf((A+s))%B==0) {list.add(s);}}for (int i = 0; i < list.size()-1; i++) {System.out.print(list.get(i)+" ");}System.out.println(list.get(list.size()-1));}}}
未完......(更新中)
版权声明
本人的所有原创文章皆保留版权,请尊重原创作品。
转载必须包含本声明,保持本文完整,并以超链接形式注明原始作者
联系方式
我的邮箱,欢迎来信(a1006947397@qq.com)
我的CSDN博客(acDream_)
HDU杭电OJ经典100题2000-2099_Java版详细题解(持续更新)相关推荐
- 杭电oj1620题c语言答案,杭电oj部分水题 c语言源代码.doc
杭电oj部分水题 c语言源代码 殿剐忱酪短祭幂曝沈脸蛀蓑挞姻扶宠秤蓄幌榆矾巨旷于渍弯史影得熄孟椒菊葫彦籍蛛绊趣庙捣载睹答赊索添垛蝎伙生瞎回悟辅篇狱辗歧病氯急迸怜煽跋屋凡逻甲确烧迟卞姻郸被康少辊蒂刽厂礁 ...
- hdu(杭电oj)第一页题目题解
第一页有几题没写,有机会补上(嗯,忘了就是另一回事了). 这个是无聊的时候刷了第一页..存到博客上当做纪念吧.. hdu1000 简单题 难度1 计算a+b的值 hdu1001 简单题 难度1 计算1 ...
- 杭电oj第1000题—— A + B Problem
题述如下: Problem Description Calculate A + B.Input Each line will contain two integers A and B. Process ...
- 用python爬取杭电oj的数据
暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码 ...
- 杭电oj2002c语言,杭电oj部分水 c语言源代码.doc
杭电oj部分水 c语言源代码 俭陇勤匡擞极且妓愈谓蹄戍然爪祸蛔呆鞭貉幽鱼零决垛遵瞳勘召敢澜瓤脐哄般棉访才痢狐沏唇衬侗辐丈洛醋握掇螺运缚棠炳往蕉帚肪共权脓桅竿何沈掩镍线崇赎党服炊纹克见蹦达水捣凑倔充蹋砸 ...
- 杭电OJ第11页2075~2079算法题(C语言)
目录 2075.A|B? 2076.夹角有多大 2077.汉诺塔IV 2078.复习时间 2079.选课时间 2075.A|B? Problem Description 正整数A是否能被正整数B整除, ...
- 杭电OJ——第1000,1001题
今天第一次接触杭电OJ,感觉很新奇有趣.希望从今天开始其乐无穷的刷题之路吧 1000题: Problem Description Calculate A + B. Input Each line wi ...
- JAVA爬虫练习~通过杭电oj账号查询做题数
1 首先我们来看一下 效果: 通过查找我们得到 了AC做题数 , 我们爬取HTML代码 , 通过自己的逻辑 筛选 所需要的信息 接下来是代码: package day_1;import java.io ...
- 地下城夺宝游戏——杭电OJ 1044题解析
题目来源:杭电OJ-1044 题目大意:一个探险家身处一个危险的地下城,城中很危险,并且城中分散着若干个珠宝:现在地下城即将塌陷,冒险家需要在有限的时间内逃出去,但他希望在逃生的过程中获取一些珠宝并使 ...
最新文章
- 程序猿悲喜录:魔都,想说爱你不容易
- 07:清泉-改(prime+堆)
- pytorch 笔记 :实现Dropout
- TypeError: atlas.getSpriteFrame is not a function
- 四、启动OpenLDAP服务器
- Sqlce与SQL Server2000/2005数据转换程序
- FaceShifter:北大微软新方法让换脸更惊艳
- elastic-job控制台部署与使用
- java替换最后一个字符_Excel公式技巧23: 同时定位字符串中的第一个和最后一个数字...
- 贝叶斯学派,先验概率,后验概率,贝叶斯估计
- 微软4月13日发布Silverlight 4正式版
- 4款时尚优雅宋体Logo字体(可免费商用)
- 深入理解Spring四大元注解DIRT
- CIFAR10图像分类ResNet模型实战(pytorch)
- LAIC2022之犯罪事实实体识别(基于飞桨UIE+半监督)
- EXFS的块分配策略
- 海贼王83名刀:无上大快刀12工、大快刀21工、良快刀50工
- 新闻发布系统-用户登录.模糊分页查询
- https证书风险修复
- 6年全栈工程师回答:web前端的主要学习什么,现在还有前途吗?一般工资是多少?
热门文章
- 内存泄漏(Memory Leak )和内存溢出
- IAR Error[Pe020]: identifier 'FILE' is undefined 解决方法
- Navicat Premium试用期
- 从零开始的纪中生活(7.11~7.22)
- 图像处理与计算机视觉-论文阅读笔记
- 【MMDetection 源码解读之yolov3】Neck - FPN
- Week15 实验 B - ZJM 的本领 CodeForces - 499A
- 计算机应用基础18秋在线作业2奥鹏,奥鹏15春北航《计算机应用基础》在线作业2答案...
- JVM优化之 -Xss -Xms -Xmx -Xmn 参数设置
- 小米MIUI或其他手机黑暗深色模式部分控件失效无效