这是之前玩paiza出的程序员都消失的世界(?)的游戏的问题,虽然没啥大不了的,但贴贴也就贴贴8。
问题是这个亚子的。
输入两行数
第一行为通信次数
第二行为每次通信的强度
强度大于5为通信成功
求通信成功次数
代码一(进程过长)失败
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| import java.util.*;
public class Main { public static void main(String[] args) { int c; c=0; Scanner sc = new Scanner(System.in); String h = sc.nextLine(); String line = sc.nextLine(); String sj =line.replaceAll(" ",""); int[] qd = new int[sj.length()]; for(int i=0; i<sj.length();i++) { qd[i] =Integer.parseInt(sj.substring(i,i+1)); } for (int i:qd) if(i>5) { c++; } else { c=c; } System.out.println(c); } }
|
代码二(成功,最优算法)
解决办法,直接提取整型数字比较
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import java.util.*;
public class Main { public static void main(String[] args) { int c; c=0; Scanner sc = new Scanner(System.in); int h = sc.nextInt(); for(int i=0; i<h; i++) { int sg = sc.nextInt(); if(sg>5) { c++; }
}
System.out.println(c); }
}
|
以上。