杭电Oj2076

OJ2076

import java.util.Scanner;


public class Main2076 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
 int num=in.nextInt();
 for(int k=1;k<=num;k++) {
   double A = in.nextInt();
   double B = in.nextInt();
   double C = in.nextInt();
   double temp1 = 0;
   double temp2 = 0;
   double end = 0;
   if (A>=12) {
A = A-12;
}
   temp1 = A*30+((B*60+C)/3600)*30;
   temp2 = (B/60)*360+(C/60)*6;
   end = Math.abs(temp1-temp2);
   if (end<=180) {
    System.out.println((int)end);
}else {
System.out.println((int)(360-end));
}
 }
 break;

}}}

这道题调了3、4遍才过,一直以为是算中间数组下标的时候出了问题,但其实是在算时针走动度数的时候没有算上秒针对时针的影响。 有时候总是会犯一些小错误,总觉着是逻辑方面不太严谨。不过没有关系,我相信我自己的逻辑思考,希望能够通过不断训练让自己的逻辑更加严谨。


OJ2083

import java.util.Scanner;


public class Main2083 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
 int num=in.nextInt();
 for(int k=1;k<=num;k++) {
 int people = in.nextInt();
 int temp = 0;
 int sum = 0;
 int p1=0;
 int p[] = new int[people];
     for(int i=0;i<p.length;i++) {
     p[i]=in.nextInt();
 }
     for(int i =0;i<p.length-1;i++) {
     for(int j = 0;j<p.length-1-i;j++) {
     if (p[j]>p[j+1]) {
 temp = p[j];
 p[j]=p[j+1];
 p[j+1] = temp;
 }
     }
     }
     p1 = (people/2);
     for(int i = 0;i<p.length;i++) {
     sum = Math.abs(p[i]-p[p1])+sum;
     }
     System.out.println(sum);
 }
 break;

}}}

要说哪里有问题,那就是我又犯迷糊,在for循环中吧j写成了i。哭泣(灬ꈍ ꈍ灬)。


OJ2092

import java.util.Scanner;
public class Main2092 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int sum = in.nextInt();
int ji = in.nextInt();
double end = 0;
if (sum==0&&ji==0) {
break;
}
end = (double)(((double)sum+(double)Math.sqrt(sum*sum-4*ji)))/2;
   if (end==(int)end) {
System.out.println("Yes");
}else {
System.out.println("No");
}

}}}

老天爷,这道题我本来是用最聊撇的方式,一个一个算。结果超时,看了别人的,才一拍大腿,我怎么就没想到还有二次方程式这玩意呢?! 再次哭泣,并表示长知识了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值