logoalt Hacker News

userbinatoryesterday at 11:57 PM2 repliesview on HN

The second one is absolutely trivial if you've ever read K&R (even if you're not allowed to just call strcpy()), while the fourth one is also very straightforward if you know about https://news.ycombinator.com/item?id=15266331 ; but 32 years ago, knowledge definitely did not propagate as quickly as it does today.

Additionally, I was allowed to store Color however I wanted — so if I needed some precomputation, I was allowed to bake it in there.

I believe it can be done in three operations, not including the precomputation.


Replies

koolbatoday at 12:56 AM

> The second one is absolutely trivial if you've ever read K&R (even if you're not allowed to just call strcpy())

The naive approach’s assumes you can iterate over the first string until it terminates.

It’s a bit trickier if you do not assume the memory regions cannot overlap.

See memcpy vs memmove: https://man7.org/linux/man-pages/man3/memmove.3.html

HarHarVeryFunnytoday at 1:58 AM

Just tried the:

y -= x >> 4;

x += y >> 4;

Certainly works, and seems to require 100 iterations to get a full circle.

Are there other approximations, taking smaller angular steps, to get a better circle?