解题思路: 先求出“至少一半”州的数目,在升序排列求出这些州的每个“至少一半”的人,再累加求和
注意事项: 注意不能使用向上取整(ceil),因为整除的时候,没有实现 一半多 的目的。
参考代码:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) { int n=in.nextInt(); if(n==0) break; else { int arr[] = new int [n]; for(int i=0;i<n;i++) { arr[i]=in.nextInt(); } int leaststate = n/2+1; //最少支持州数目 Arrays.sort(arr); int leastsupport =0; //最少支持的人数 for(int i=0;i<leaststate;i++) { leastsupport +=arr[i]/2+1; } System.out.println(leastsupport); } } in.close(); } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1091 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:417 |
C语言程序设计教程(第三版)课后习题9.3 (Java代码)浏览:1025 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:287 |
简单的a+b (C语言代码)浏览:674 |
WU-输出正反三角形 (C++代码)浏览:1099 |
剪刀石头布 (C语言代码)浏览:802 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:895 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:490 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |