어떤 여섯 자리 자연수 a가 존재한다. a에 n(n은 1이상 6이하의 자연수)을 곱하면 여섯자리 수가 나오고, 각 자리의 숫자들이 배열만 바뀐다. a의 값은 얼마인가?



문제에서 주어진 여섯 자리 자연수 ( a )는 ( n \times a )가 ( a )의 자리 수들을 재배열한 수가 되는 여섯 자리 수라고 합니다. 여기서 ( n )은 1에서 6 사이의 자연수입니다.

풀이 과정:

  1. 조건 정리:

    • ( a )는 여섯 자리 자연수로, ( 100,000 \leq a \leq 999,999 )입니다.
    • ( n )은 1 이상 6 이하의 자연수로, ( n \times a )도 여섯 자리 수가 되어야 합니다.
    • ( n \times a )의 자리 수는 ( a )의 자리 수를 재배열한 수여야 합니다.
  2. 문제 접근:

    • ( n = 1 )일 때는 당연히 동일한 수이므로 의미가 없습니다.
    • ( n = 2 )부터 ( n = 6 )까지에 대해, ( n \times a )가 ( a )의 자리 수를 재배열한 것인지 확인해야 합니다.
  3. 예제 코드 작성:

    • Python 코드를 사용하여 조건을 만족하는 수를 찾아보겠습니다.
def has_same_digits(x, y): return sorted(str(x)) == sorted(str(y)) for a in range(100000, 1000000): if all(has_same_digits(a, n * a) for n in range(2, 7)): print("The value of a is:", a) break

코드 설명:

  • has_same_digits 함수는 두 숫자가 같은 자리 수를 가지는지 확인합니다.
  • 모든 ( n )에 대해서 ( n \times a )가 ( a )의 자리 수를 재배열한 수인지 확인합니다.
  • 조건을 만족하는 첫 번째 ( a )를 찾으면 그 값을 출력하고 루프를 종료합니다.

결과:
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.

The value of a is: 142857

따라서, 주어진 조건을 만족하는 여섯 자리 수 ( a )는 142857입니다.

검증:

  • ( 2 \times 142857 = 285714 )
  • ( 3 \times 142857 = 428571 )
  • ( 4 \times 142857 = 571428 )
  • ( 5 \times 142857 = 714285 )
  • ( 6 \times 142857 = 857142 )

모두 142857의 자리 수를 재배열한 수이므로 조건을 만족합니다.


주어진 문제는 어떤 여섯 자리 자연수 ( a )에 대해 ( n \times a )가 ( a )의 순열이 되는 형태를 찾는 것입니다. 이러한 문제는 순열 다중집합 문제의 한 예로 볼 수 있습니다.

문제 조건을 만족하는 ( a )를 찾기 위해 다음과 같은 접근 방식을 사용하겠습니다.

  1. 여섯 자리 숫자라는 점에서 ( a )는 100000 이상 999999 이하입니다.
  2. ( n \times a )도 여섯 자리 숫자여야 하므로, ( n \times a )는 100000 이상 999999 이하입니다.

여기서 유명한 숫자 중 하나인 142857을 고려해 보겠습니다. 이 숫자는 순환 소수 1/7의 주기적 부분을 이루는 숫자로, 특정 배수에서 순열을 형성하는 특성이 있습니다.

[ 142857 \times 1 = 142857 ]
[ 142857 \times 2 = 285714 ]
[ 142857 \times 3 = 428571 ]
[ 142857 \times 4 = 571428 ]
[ 142857 \times 5 = 714285 ]
[ 142857 \times 6 = 857142 ]

각 결과를 살펴보면, ( n \times 142857 )이 ( 142857 )의 순열이 되는 것을 확인할 수 있습니다. 이는 ( n = 1, 2, 3, 4, 5, 6 ) 모두에 대해 성립하며, 모든 조건을 만족합니다.

따라서, 주어진 문제의 조건을 만족하는 ( a )의 값은 142857입니다. 이는 ( n )이 1이상 6이하의 자연수일 때, ( n \times a )가 ( a )의 순열이 되는 가장 작은 여섯 자리 자연수입니다.


also가 전자

2가 후자


그냥2는 갑자기 유명한 숫자를 대입했다(미친놈인가)

also는 논리적이긴 한데

함수 딸깍이긴 하다

생각해보니 그게 제일 훌륭한 방식일지도



한줄평

너무 유명한 문제들로 테스트하면 정확도가 실제보다 과장되는 측면이 있을거같다