Notice
Recent Posts
Recent Comments
Link
05-18 11:53
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

킹머핀의 제작 일지

모듈러(%)를 쓰지 않고 정수를 구간 반복하는 방법 본문

엔트리/심화

모듈러(%)를 쓰지 않고 정수를 구간 반복하는 방법

KingMUffin 2021. 7. 11. 20:42

x를 [m, n]에서 1씩 증가시키려면 x = m + (x + 1 - m) % n을 반복하면 된다.

그런데 궁금해졌다.

모듈러 연산자를 쓰지 않고도 같은 식을 만들 수 있는가?

단, 반복문이나 반복 수식(등비, 등차수열 같은)을 사용하지 않고. (사실 나눗셈도 자료구조상 반복이지만 감안)

이러한 기능의 함수(함수가 기능인가?)를 주기수열이라고 부른단다.

이번엔 딱히 '더 효율적인 코드'를 위해 고민하는 게 아니고, 이미 맨 위의 식을 적용했으며, 금방 찾을 수 있을 것 같아서 시도해보았다.

 

그리고 30분이 걸려 (많은 시행착오 끝에) 정확한 수식을 만들어냈다.

$$x = m + (x + 1 - m) * (1 - x / n)$$

해냈다! 단, x/n은 정수여야 함.

근데 이렇게 두고 보니 큰 차이는 없네..? ㅎㅎㅎ

 

그리고 여기 친구가 찾아준 다른 방식도 있다.

대체 이런 생각은 어떻게 해 내는 거야..?

&