#J, (削除) 19 (削除ここまで) 15 bytes
J, (削除) 19 (削除ここまで) 15 bytes
>.@(%&3)*1-3|<:
Probably need to golf this further...
1-indexed.
###Ungolfed:
Ungolfed:
>> choose_sign =: 1-3|<: NB. 1-((n-1)%3)
>> choose_magnitude =: >.@(%&3) NB. ceil(n/3)
>> f =: choose_sign * choose_magnitude
>> f 1 12 77
<< 1 _4 0
Where >> means input (STDIN) and << means output (STDOUT).
#J, (削除) 19 (削除ここまで) 15 bytes
>.@(%&3)*1-3|<:
Probably need to golf this further...
1-indexed.
###Ungolfed:
>> choose_sign =: 1-3|<: NB. 1-((n-1)%3)
>> choose_magnitude =: >.@(%&3) NB. ceil(n/3)
>> f =: choose_sign * choose_magnitude
>> f 1 12 77
<< 1 _4 0
Where >> means input (STDIN) and << means output (STDOUT).
J, (削除) 19 (削除ここまで) 15 bytes
>.@(%&3)*1-3|<:
Probably need to golf this further...
1-indexed.
Ungolfed:
>> choose_sign =: 1-3|<: NB. 1-((n-1)%3)
>> choose_magnitude =: >.@(%&3) NB. ceil(n/3)
>> f =: choose_sign * choose_magnitude
>> f 1 12 77
<< 1 _4 0
Where >> means input (STDIN) and << means output (STDOUT).
#J, (削除) 19 (削除ここまで) 15 bytes
>.@(%&3)*1-3|<:
Probably need to golf this further...
1-indexed.
###Ungolfed:
>> choose_sign =: 1-3|<: NB. 1-((n-1)%3)
>> choose_magnitude =: >.@(%&3) NB. ceil(n/3)
>> f =: choose_sign * choose_magnitude
>> f 1 12 77
<< 1 _4 0
Where >> means input (STDIN) and << means output (STDOUT).