사실 Chris는 내 L9 코드 답변이 거의 똑같은 것처럼 보입니다. 그러나 내가해야 할 일은 1000 번 반복하는 루프로 감싸는 것입니다.
올가미 9는 마이크로 초를 수행 할 수 있지만 이전 버전은 밀리 초 단위로만 수행 할 수 있습니다.
아래에 3 가지 방법이 있습니다. 첫 번째 방법은 내 것이며, 두 번째는 내 방식입니다.
define br => '<br>'
local(start_time = micros)
loop(1000)=>{
var ('total' = 0);
loop(1000-1);
loop_count % 3 == 0 || loop_count % 5 == 0 ? $total += loop_count;
/loop;
$total;
}
'Avg (L8 code in 9): '+(micros - #start_time)/1000+' micros'
br
br
local(start_time = micros)
loop(1000)=>{
local(sum = 0)
loop(999)=>{ loop_count % 3 == 0 || loop_count % 5 == 0 ? #sum += loop_count }
#sum
}
'Avg (incremental improvement): '+(micros - #start_time)/1000+' micros'
br
br
local(start_time = micros)
loop(1000)=>{
local(sum = 0)
loop(999)=>{ not (loop_count % 3) || not(loop_count % 5) ? #sum += loop_count }
#sum
}
'Avg using boolean not: '+(micros - #start_time)/1000+' micros'
출력은 : 나는 8 많은 상황에서 중복 완전히 중복의로 "출력을"사용하지 않은
Avg (L8 code in 9): 637 micros
Avg (incremental improvement): 595 micros
Avg using boolean not: 596 micros
주 9 :
올가미 9에서 다른 점이 많습니다. 그래서 내 자신의 답변을 검토해야합니다. #이 질문에 크리스가 뭐라 구요? –
[질문 1] (http://projecteuler.net/problem=1) – TreefrogChris