2015136077   3년 전

L연산과 R연산을 수행함에 있어 1같은 경우는 L연산을 하면 10으로 알고있습니다.

그런데 왜 12를 left하면 21이 되는지 이해가 안갑니다. 자리수가 일의자리인 경우는 앞의 0이 있다 가정하여 연산하는데 십의자리 백의자리는 해당 자리수를 지키는 방식으로 구성하는지 모르겠습니다.일의 자리 N의 값을  L를 하던 R을 하던 N이 되어야하는게 맞는거 아닌가요? 특이하게 일의자리인 경우만 자리수의 변경까지 가능하도록 짜야하는건가요.

예를 들어 100을 L연산하면 1이니까 1을 다시 R연산하면 100이 나와야하는데 다음 값은 아시다시피 1000이 됩니다.

정확한 규칙을 헤아리기가 너무 어렵습니다. 특히 LR연산의 경우 123의 값이 1230, 3012가 아닌 231, 312 이렇게 되려면 자리수를 파악해 활용하는 알고리즘을 작성해야하는데 그러면 위에 말씀드린 100과 1000에 반례가 생깁니다. 

어떤 규칙이 있다고 정의할 수 있을까요.

playsworld16   3년 전

n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자) 에서 n 은 무조건 4자리수 취급입니다.

즉, 10은 0010이 되고, 1은  0001이 되죠.

12는 0012가 되니, L연산을 하면 0120이 됩니다.

0001에 R연산을 하면 1000이 됩니다.

2015136077   3년 전

문제가 틀렸습니다가 계속나와서 제가 123을 231 또는 312로 나오게 해야한다고 착각했었네요. 감사합니다!

댓글을 작성하려면 로그인해야 합니다.