解题思路: 先求出“至少一半”州的数目,在升序排列求出这些州的每个“至少一半”的人,再累加求和
注意事项: 注意不能使用向上取整(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语言代码)浏览:617 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1317 |
简单的a+b (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:524 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:545 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:691 |
1124题解浏览:595 |
C二级辅导-分段函数 (C语言代码)浏览:601 |
C二级辅导-计负均正 (C语言代码)浏览:482 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:766 |