gpt4 book ai didi

math - Code Golf : All +-*/Combinations for 3 integers

转载 作者:行者123 更新时间:2023-12-03 08:50:13 25 4
gpt4 key购买 nike

锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。








编写一个程序,接受 3 个由空格分隔的整数,并执行可能的加减乘除运算的每个组合,并使用所使用的运算组合显示结果。

例子:
$./solution 1 2 3
结果如下输出
1+2+3 = 61-2-3 = -41*2*3 = 61/2/3 = 0 (仅整数答案,四舍五入为 0.5)
1*2-3 = -13*1+2 = 5
ETC...

操作规则的顺序适用,假设不使用括号,即 (3-1)*2 = 4不是组合,尽管您可以为“额外信用”实现此功能

对于除以 0 的结果,只需返回 NaN

编辑:需要置换输入,即,如果输入是 1 2 3 ,然后 3*1*2是一个有效的组合。

最佳答案

Perl 130 个字符

只要允许外部库:

use Algorithm::Permute"permute";
permute{for$x(@a=qw(+ - / *)){for$y(@a){$_="@ARGV";s/ /$x/;s/ /$y/;printf"
$_ = %.0f",eval}}}@ARGV

第二个换行符很重要。

没有模块,并假设所有三个输入都是不同的,这是另一种解决方案:
      @n=&             ARGV;
@o=( q[+],
"-", q{/}, '*' );;
for$ {a}(@ n){ for
$b(@n){for$c(@ {n}){ for $x(
@o){for$y(@o){ ($a-$ b)*($a-$c)* ($b-$
c)||next;$_=$a .$x.$ b."$y$c";$% =42
/84+ eval; print"",$_, "$S="
,$S, $%,$/ }}} }};
;sub ARGV{ $S= $".
"";@ ARGV} ;1+ 2+3

关于math - Code Golf : All +-*/Combinations for 3 integers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com