Advertisement

(13)分苹果

阅读量:

题目描述:
共有n头牛围坐在一起,每头牛各自拥有ai个苹果。现需在这些牛之间进行苹果的转移操作,最终使所有牛所拥有的苹果数量相等。然而,每次操作仅允许从一头牛处取走恰好两个苹果,并将其转移至另一头牛处。请问,在满足上述条件的前提下,最少需要完成多少次这样的转移操作,才能实现苹果的平均分配?
解法1:

复制代码
    clear
    clc
    close all
    array = input('请输入每头牛所拥有的苹果个数:');
    n = length(array);
    avr = sum(array)/n;%平均数
    rem = mod(sum(array),n);%余数,用于判断苹果是否可以平分
    flag=0;
    if rem~= 0
    %苹果总数不能被牛的数量整除
    flag = 1;
    else
    for i=1:n
        if mod(array(i)-avr,2)~=0
            %比平均数多出来的苹果数不能被2整除
            flag=1;
           break
        end
       end
    end
    
    if flag==1
    disp('不存在符合题意的情况');
    else
    %

全部评论 (0)

还没有任何评论哟~