1 条题解

  • 0
    @ 2024-5-10 0:45:58

    C :

    #include<stdio.h>
    
    int main()
    {
    	int n,i,a[50],s,t,k=0;
    	while(scanf("%d",&n)!=EOF,n)
    	{
    		if(k++)
    			printf("\n");
    		for(s=i=0;i<n;i++)
    		{
    			scanf("%d",&a[i]);
    			s+=a[i];
    		}
    		for(t=i=0;i<n;i++)
    			if(a[i]<s/n)
    				t+=s/n-a[i];
    		printf("%d\n",t);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    int main()
    {
    	int n,i,a[50],s,t,k=0;
    	while(scanf("%d",&n)!=EOF,n)
    	{
    		if(k++)
    			printf("\n");
    		for(s=i=0;i<n;i++)
    		{
    			scanf("%d",&a[i]);
    			s+=a[i];
    		}
    		for(t=i=0;i<n;i++)
    			if(a[i]<s/n)
    				t+=s/n-a[i];
    		printf("%d\n",t);
    	}
    	return 0;
    }
    

    Pascal :

    program  p1013;
    var
      i,j,k,s,n:longint;
      a:array[1..50] of longint;
    begin
     while not eof do
      begin
       readln(n);  s:=0;
       if n<>0 then
        begin
         for i:=1 to n do
           begin
             read(k);
             a[i]:=k;
             s:=s+k;
           end;
         readln;
         k:=s div n;
         s:=0;
         for i:=1 to n do
         if a[i]<k then s:=s+k-a[i];
         writeln(s);
        writeln;
        end;
      end;
    end.
    
    

    Java :

    import java.util.*;
    
    
    public class Main{
    	
    	public static int step(int[] data){
    		int count = 0;
    		int aver;
    		int result = 0;
    		for(int i=0;i<data.length;i++){
    			count += data[i];
    		}
    		aver = count/(data.length);
    		for(int i=0;i<data.length;i++){
    			if(aver < data[i]){
    				result += (data[i] - aver);
    			}
    		}
    		//System.out.println();
    		//System.out.println(data.length);
    		//System.out.println(count);
    		//System.out.println(aver);
    		//System.out.println(result);
    		return result;
    	}
    	
    	public static void main(String[] args) {
    		int[] b = new int[1024];
    		int j=0;
    		
    		@SuppressWarnings("resource")
    		Scanner sc = new Scanner(System.in);
    		int flag = sc.nextInt();
    		
    		while(flag != 0){
    			int[] a = new int[flag];
    			for(int i =0;i<flag;i++){
    				a[i] = sc.nextInt();
    			}
    			b[j] = step(a);
    			//step(a);
    			flag =sc.nextInt();
    			j++;
    		}
    		for(int k=0;k<j;k++){
    			System.out.println(b[k]+"\n");
    		}
    
    	}
    }
    

    Python :

    import sys
    h=1
    for line in sys.stdin:
        a = line.split()
        if h%2 == 0:
           if len(a) == 1:
               print 0
               print ''
           else:
               b = map(lambda x:int(x),a)
               c = reduce(lambda x,y:x+y,b)/len(b)
               d = [i for i in map(lambda x:(x-c),b) if i>0 ]
               if len(d) == 0:
                  print 0
                  print ''
               else:
                  print reduce(lambda x,y:x+y,d)
                  print ''
        h += 1
    
    • 1

    信息

    ID
    6211
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者