| Deutsch English Français Italiano |
|
<vrhgqd$3ku1m$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: DFS <nospam@dfs.com> Newsgroups: comp.lang.c Subject: OT: CSES Number Spiral algorithm Date: Thu, 20 Mar 2025 12:47:11 -0400 Organization: A noiseless patient Spider Lines: 27 Message-ID: <vrhgqd$3ku1m$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 20 Mar 2025 17:47:09 +0100 (CET) Injection-Info: dont-email.me; posting-host="6ed1d979db33810c8b2880032b171297"; logging-data="3831862"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19kn2dLX/92Xz9q4uCb/KTM" User-Agent: Betterbird (Windows) Cancel-Lock: sha1:pE4+ycTiYR/0yl+8NFOiR2EVjSw= Content-Language: en-US Bytes: 1794 I don't have a C question, but rather I'd like input about algorithmic approaches. https://cses.fi/problemset/task/1071 It's an 'infinite grid'. You have to find the value at rows-columns from 1 to 10^9. First thing you notice about the 5x5 grid is the values in odd-numbered columns begin with the square of the column number, and the values in even-numbered rows begin with the square of the row number. I followed the number pattern and built a grid in Excel and expanded it to 10x10 for more testing. https://imgur.com/x4VymmA Then coded 4 conditions solution 1. row <= col and col odd (col * col) - row + 1 2. row <= col and col even ((col-1) * (col-1)) + row 3. row > col and row odd ((row-1) * (row-1)) + col 4. row > col and row even (row * row) - col + 1 My full C code submission was accepted the first time. How would you have done it?