Hi, all. I'm in college, taking a freshman-level CS class. (I'm actually a
senior chemist with free time.)
Anyhoo, the warm-up assignment was Hardy Taxi problem, phrased like this:
[Exposition removed.] 1729 is the smallest number such that for
(a!=b!=c!=d)>0, there exists a combination of a, b, c, and d where a^3+b^3 =
1729 = c^3+d^3.
The task was to find all other numbers with this property less than 25,000.
The code is basically

for (int iters = 1; iters <= 25_000; iters++){
   if(isTaxiNumber(iters)){
      writefln("%s is a taxi number", iters);
   }
}

(There's also a StopWatch timing things, and isTaxiNumber returns a struct,
not a bool. See attached code.)
This code runs in about 0.09 seconds.
If I comment out the writefln, it takes 0.11 seconds.
(These are collected from about 20 runs of each. Times are very consistent.)
Any ideas why commenting out the write makes things slower?
Cheers,
Charles.
begin 644 taxi.d
M:6UP;W)T('-T9"YD871E=&EM93L@+R\@9F]R('1H92!3=&]P5V%T8V@@<W1R
M=6-T+B`-"FEM<&]R="!S=&0N<W1R:6YG.R`O+V9O<B!T:&4@9F]R;6%T*"DN
M(`T*:6UP;W)T('-T9"YS=&1I;SL@+R]P<FEN=&EN9RX@#0HO+R\@02!S=')U
M8W0@=&AA="!R97!R97-E;G1S(&$@8V%B+B!)="!D;V5S;B=T(&1O('1H92!C
M:&5C:VEN9R!T:&%T('1H92!O;F4@:6X@=&AE(&%S<VEG;FUE;G0@9&]E<RP@
M=&AO=6=H+B`-"G-T<G5C="!T87AI0V%B>PT*"6EN="!T87AI3G5M8F5R.PT*
M"6EN="!A+"!B+"!C+"!D.PD-"@ES=')I;F<@=&]3=')I;F<H*7L-"@D)<F5T
M=7)N(&9O<FUA="@B8V%R("5S(#T@6R5S("5S("5S("5S72(L=&%X:4YU;6)E
M<BP@82P@8BP@8RP@9"D[#0H)?0T*?0T*#0HO*BH-"BH@4')O9W)A;2!T:&%T
M(&UE87-U<F5S('1H92!T:6UE(&ET('1A:V5S('1O(&1E=&5R;6EN92!T:&4@
M=&%X:2!N=6UB97)S(&QE<W,@=&AA;B`R-3`P,"X@#0HJ($%U=&AO<CH@0VAA
M<FQE<R!-8T%N86YY#0HJ#0HJ+PT*=F]I9"!M86EN*"E[#0H)4W1O<%=A=&-H
M('-W.PT*"7-W+G-T87)T.PT*"69O<B`H:6YT(&ET97)S(#T@,#L@:71E<G,\
M(#(U,#`P.R!I=&5R<RLK*7L-"@D)=&%X:4-A8B!C86))1"`](&ES5&%X:2AI
M=&5R<RD[#0H)"6EF*&-A8DE$+F,@(3T@,"E[#0H)"0EW<FET96QN*&-A8DE$
M*3L-"@D)?0T*"7T-"@ES=RYS=&]P.PT*"51I8VMS('1I;65486ME;B`]('-W
M+G!E96L[#0H)=W)I=&5F;&XH(B5S7'0E<R(L,C4P,#`L=&EM951A:V5N+G1O
M4V5C;VYD<R%F;&]A="D[#0H)<W<N<F5S970[#0H-"GT-"@T*+RHJ#0HJ(&ES
M5&%X:2!D971E<FUI;F5S(&EF(&%N(&EN=&5G97(@<&%S<V5D('1O(&ET(&ES
M(&$@=&%X:2!N=6UB97(L('1H870@:7,L('1H97)E(&5X:7-T<PT**B!A;B!A
M+"!B+"!C+"!A;F0@9"P@;F]N92!O9B!T:&5M('1H92!S86UE+"!S=6-H('1H
M870@#0HJ(&%>,RMB7C,@/2!N(#UC7C,@*V1>,RX@#0HJ(')E='5R;G,Z(`T*
M*B!A('1A>&E#86(@<W1R=6-T+"!W:71H(&$L(&(L(&,L(&%N9"!D(&EF(&9O
M=6YD+B!I9B!O;FQY(&]N92!S;VQU=&EO;B!T;R!X7C,K>5XS('=A<R!F;W5N
M9"P@#0HJ(&,@86YD(&0@=VEL;"!B92!Z97)O+B!)9B!N;VYE('=E<F4@9F]U
M;F0L('1H96X@82!A;F0@8B!W:6QL(&)E('IE<F\@87,@=V5L;"X@#0HJ('!A
M<F%M971E<G,Z(`T**B!N(&ES(&%N(&EN=&5G97(@=&AA="!I<R!T;R!B92!C
M:&5C:V5D(&9O<B!T87AI(&YU;6)E<BUN97-S+B`-"BHO#0IT87AI0V%B(&ES
M5&%X:2AI;G0@;BE[#0H):6YT(&QI;6ET(#T@8W5B95)O;W1&;&]O<BAN*2`M
M(#$[#0H):6YT(&AI=',@/2`P.R`-"@EI;G1;72!R97-U;'1S(#T@6S`L,"PP
M+#!=.PT*"69O<B`H:6YT(&D@/2`P.R!I(#P@;&EM:70[(&DK*RD@>PT*"0EI
M;G0@<F5S(#T@;B`M(&DJ:2II.PT*"0ED;W5B;&4@8W5B95)O;W0@/2!R97->
M7B@Q+S,N,"D[#0H)"6EN="!N96%R97-T26YT(#T@8V%S="AI;G0I("AC=6)E
M4F]O="`K(#`N-2D[#0H)"61O=6)L92!D:69F(#T@*&-U8F52;V]T("T@;F5A
M<F5S=$EN="D@*B`H8W5B95)O;W0@+2!N96%R97-T26YT*3L-"@D):68@*&1I
M9F8@/"`Q92TQ,"D@>PT*"0D):68@*&AI=',@/"`R("8F(')E<W5L='-;,5T@
M(3T@:2D@>PT*"0D)"7)E<W5L='-;:&ET<R`J(#)=(#T@:3L-"@D)"0ER97-U
M;'1S6VAI=',@*B`R("L@,5T@/2!N96%R97-T26YT.PT*"0D)?0T*"0D):&ET
M<RLK.PT*"0E]#0H)?0T*"7)E='5R;B!T87AI0V%B*&XL<F5S=6QT<ULP72QR
M97-U;'1S6S%=+')E<W5L='-;,ETL<F5S=6QT<ULS72D[#0I]#0H-"B\O+R!F
M:6YD<R!T:&4@;&%R9V5S="!I;G1E9V5R('@@<W5C:"!T:&%T('A>,R`\(&X@
M#0II;G0@8W5B95)O;W1&;&]O<BAI;G0@;BE[#0H)9&]U8FQE(&-U8F52;V]T
M(#T@;B!>7B`H,2\S+C`I.PT*"6EN="!C<D9L(#T@8V%S="AI;G0I(&-U8F52
6;V]T.PT*"7)E='5R;B!C<D9L.PT*?0``
`
end

Reply via email to