解题思路: 先求出“至少一半”州的数目,在升序排列求出这些州的每个“至少一半”的人,再累加求和
注意事项: 注意不能使用向上取整(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语言代码)浏览:817 |
C语言训练-数字母 (C语言代码)浏览:584 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:646 |
A+B for Input-Output Practice (V) (C++代码)浏览:450 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:531 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2092 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1420 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:596 |
整数平均值 (C语言代码)浏览:780 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:677 |