How would you solve this 'interview' question in D?
H. S. Teoh
hsteoh at quickfur.ath.cx
Wed Jun 26 16:12:33 PDT 2013
On Thu, Jun 27, 2013 at 12:43:04AM +0200, David wrote:
> Am 26.06.2013 22:51, schrieb Gary Willoughby:
> > Just for a bit of fun, I saw this question posted on reddit the other
> > day and wondered how *you* would solve this in D?
> >
> > http://stackoverflow.com/questions/731832/interview-question-ffn-n
>
> I solved it ;)
>
> http://dpaste.dzfl.pl/5cd56e9d
[...]
Well, technically it's invalid because it says "design *a* function f".
But maybe it can be salvaged:
auto f(T)(T n) {
static if (is(T==int))
return cast(double)n;
else if (is(T==double))
return -cast(int)n;
else static assert(0);
}
Well, it's still cheating, though. :-P I think the 4-cycle algorithm is
probably still the best one I've seen.
A more interesting interview question, IMO, would be to design a
function of the form:
bool f(void delegate(int) dg, int n);
which returns true if dg(n) returns, and false otherwise.
:-P
T
--
Three out of two people have difficulties with fractions. -- Dirk Eddelbuettel
More information about the Digitalmars-d-learn
mailing list