首页 > 编程知识 正文

编程题单词错误扣多少分,c语言考试大题有步骤分吗

时间:2023-05-04 12:22:00 阅读:61177 作者:66

标题是奶牛坐成一排,每头奶牛有a i个苹果。 现在你在它们之间转移苹果,使最后所有奶牛拥有的苹果数量相同。 每次,从一只奶牛身上刚好摘两个苹果,移动到另一只奶牛身上,问最少移动几次才能等分苹果。 如果计划不存在,则输出-1。 输入说明:每个输入都包含测试用例。 每个测试用例的第一行包含整数n(1=n=100 ),下一行包含n个整数AI )1=AI=100。 输出说明:输出一行表示至少需要移动多少次才能平分苹果,如果计划不存在,则输出-1。 例1输入拷贝47 15 9 5输出拷贝3构想:数学问题,依次判断即可。 首先输入n个奶牛,输入每行奶牛的苹果数。 计算所有奶牛携带的苹果总数、平均数。 总数不能被奶牛数整除时返回-1,依次判断奶牛人均苹果是否大于平均,较大时判断超标值是否能被2整除,否则返回-1,将超标数相加,除以2,即为应转移的次数

代码: package net.stxy.one.controller;/* * * createdbyasuson 2018/5/31 * * @ authodgreywolf */import Java.util.scanner; public class test2{ publicstaticvoidmain (字符串[ ] args ) ) { Test2 test2=new Test2; test2.sys1(; } private void sys1() scannerscanner=newscanner ) system.in ); int i,n=0; //计算总数int sum=0; //平均数int averg=0; int[] arr; n=scanner.nextInt (; arr=new int[n]; for(I=0; i n; I () { arr[i]=scanner.nextInt ); sum =arr[i]; } averg=sum/n; //超过的值int over=0; //超过统计的总数int overSum=0; for(I=0; i n; I ) if(arr[I]averg ) { over=arr[i] - averg; //如果超过的值不能被2整除,就没有解。 因为每个移动两个苹果if (Over %2)!=0) system.out.println('-1 ' ); 返回; (else(/统计数据全部超过平均值的数量overSum =over; }}if(sum%n!=0) system.out.println('-1 ' ); (else(/移动的次数是指,将超过平均值的总数除以每次移动的个数system.out.println(oversum/2 )。 }}效果:

4

7 15 9 5

3

不,可以学; 晚点,我能赶上; 跌倒了,我能站起来; 我一定可以。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。