PHP,73字节
+8将代码段转换为程序,过时的变量为-8,这要归功于insertusernamehere
<?foreach($argv as$p)foreach($argv as$q)if(in_array($p+$q,$argv))die;echo 1;
打印1
的true
,空的输出false
使用:php <filename> <value1> <value2> ...
合格的测试功能(94 86):返回1
或不返回
function f($a){foreach($a as$p)foreach($a as$q)if(in_array($p+$q,$a))return;return 1;}
测试
function out($a){if(!is_array($a))return$a;$r=[];foreach($a as$v)$r[]=out($v);return'['.join(',',$r).']';}
function cmp($a,$b){if(is_numeric($a)&&is_numeric($b))return 1e-2<abs($a-$b);if(is_array($a)&&is_array($b)&&count($a)==count($b)){foreach($a as $v){$w = array_shift($b);if(cmp($v,$w))return true;}return false;}return strcmp($a,$b);}
function test($x,$e,$y){static $h='<table border=1><tr><th>input</th><th>output</th><th>expected</th><th>ok?</th></tr>';echo"$h<tr><td>",out($x),'</td><td>',out($y),'</td><td>',out($e),'</td><td>',cmp($e,$y)?'N':'Y',"</td></tr>";$h='';}
$samples = [
[], 1,
[0], false,
[1], 1,
[0,1], false,
[2, 4, 9, 13], false,
[1,5,7], 1
];
while($samples)
{
$a=array_shift($samples);
$e=array_shift($samples);
test($a,$e,f($a));
}