PHP, 90 바이트
1과 24 사이의 입력 형식 '[1,24]'
이 도전에서 나는 왜 PHP가 다른 언어에 비해 느슨한 지 싫어한다. 나는 모든 아이디어를 보여주는 것을 선호합니다. 다른 PHP Crack은 더 짧은 해결책을 찾을 수 있습니다.
<?list($f,$g)=$_GET[b];for($i=$f;$i-1!=$g|$f>$g&!$c;$s+=$i++%12?:12)$i<25?:$c=$i=1;echo$s;
99 바이트
<?for($i=($b=$_GET[b])[0],$c=($d=$b[1]-$b[0])<0?25+$d:$d+1;$c--;$s+=$i++%12?:12)$i<25?:$i=1;echo$s;
최소 및 최대 113 바이트
<?for($i=min($b=$_GET[b]);$i<=$m=max($b);)$s+=$i++%12?:12;echo($b[0]>$b[1])?156-$s+($m%12?:12)+($b[1]%12?:12):$s;
괜찮이 미친 아이디어는 149 바이트 배열을 채 웁니다 배열 작동 $y[0]
하고 $y[1]
있는 경우 $_GET["b"][0]<=$_GET["b"][1]
경우 $y[1]
입니다 null
우리는이 배열을 요약 할 수 있습니다array_diff_key($y[0],array_slice($y[0],$b[1],$b[0]-$b[1]-1,1))
<?for(;++$i<25;)$y[$i>=($b=$_GET[b])[0]&$i<=$b[1]][$i]=$i%12?:12;echo array_sum($y[1]??array_diff_key($y[0],array_slice($y[0],$b[1],$b[0]-$b[1]-1,1)));
이것은 124 바이트 아래로 골프 수
<?for(;++$i<25;)$x[($v=($b=$_GET[b])[0]>$b[1])?$i<$b[0]&$i>$b[1]:$i>=$b[0]&$i<=$b[1]][$i]=$i%12?:12;echo array_sum($x[!$v]);
지금이 시점에서 우리는 두 가지의 int 101 바이트 배열을 줄이 개 금액을 확인 할 수 있습니다 $x[0]
및$x[1]
list($f,$g)=$_GET[b];
경우 $v=($f>$g
다음에 가치를 추가 $x[$i<$f&$i>$g]
로 다른 값 추가 $x[$i>=$f&$i<=$g]
출력의 경우에서 찾을 수있을 것입니다echo$x[!$v];
<?list($f,$g)=$_GET[b];for(;++$i<25;)$x[($v=$f>$g)?$i<$f&$i>$g:$i>=$f&$i<=$g]+=$i%12?:12;echo$x[!$v];
그 후 결과를 직접 계산하는 방법을 찾았습니다 .112 바이트
<?list($x,$y)=$_GET[t];echo(($b=$x>$y)+(($x-($s=$x%12?:12)^$y-($t=$y%12?:12))xor$b))*78-($s*($s-1)-$t*($t+1))/2;
재귀 103 바이트
<?list($x,$y)=$_GET[t];function f($x,$y){return($x%12?:12)+($x-$y?f(++$x<25?$x:1,$y):0);}echo f($x,$y);