在o里填上适当运算符号:6o6o6o6=5

 我来答
吓栋栋
2015-03-16 · TA获得超过2832个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:196万
展开全部

你这道题我看了半天,感觉没解,后来编了个小程序发现确实没解。估计是脑筋急转弯,要么就是忽悠人。别从加减乘除和次幂下手了。

附上我的matlab代码,你可以看一下,基本上能解的答案用我的代码就能解。

主程序
%% 计算6?6?6?6 = 5 其中?代表任意运算符
clear
clc
operator_flag = [1,1,1]; %1,2,3,4,5=>加,减,乘,除,次幂
while(1)
    op1 = num2op(operator_flag(1)); %数字到运算符转换
    op2 = num2op(operator_flag(2));
    op3 = num2op(operator_flag(3));
    calchar = ['6',op1,'6',op2,'6',op3,'6'];
    out_number = eval(calchar);     %计算结果
    if out_number == 5  %是否得到正确结果
        operator_flag
        break;
    else %更换运算符
        operator_flag(1) = operator_flag(1) + 1;
        if operator_flag(1) >= 6
            operator_flag(1) = 1;
            operator_flag(2) = operator_flag(2) + 1;
            if operator_flag(2) >= 6
                operator_flag(2) = 1;
                operator_flag(3) = operator_flag(3) + 1;
                if operator_flag(3) >= 6
                    operator_flag
                    disp('没有找到解')
                    break;
                end
            end
        end
    end
end
子程序
function op = num2op(num)
    switch num
        case 1
            op = '+';
        case 2
            op = '-';
        case 3
            op = '*';
        case 4
            op = '/';
        otherwise
            op = '^';
    end
end

 将是否得到正确结果那一行改成你需要的结果就行了:

比如:

if out_number == 2  %是否得到正确结果
结果为:
operator_flag =
     4     1     4
1,2,3,4,5对于加减乘除和次幂即6÷6+6÷6 = 2

再比如:

if out_number == 46656  %是否得到正确结果
结果为:
operator_flag =
     5     2     1
即6^6-6+6 = 46656
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式