python-algorithm

백준 2526 싸이클

무적김두칠 2022. 10. 31. 13:40

https://www.acmicpc.net/problem/2526

 

2526번: 싸이클

두 자연수 N과 P를 가지고  다음 과정을 거쳐서 나오는 수를 차례대로 출력해보자. 처음 출력하는 수는 N이고, 두 번째 이후 출력하는 수는 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여

www.acmicpc.net

 

1
2
3
4
5
6
7
8
n, p = map(int, input().split())
nums=[n]
while 1:
    if (nums[-1]*n)%p not in nums:
        nums.append((nums[-1]*n)%p)
    else:
        print(len(nums)-(nums.index((nums[-1]*n)%p)))
        break
cs

반복문 입니다
nums의 가장 끝 값을 연산 해주며 조건에 맞는지 수행하면 됩니다
Just Loop
calculate last value of nums, check the condition  

반응형