Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 숫자의 모든 회전이 소수인지 여부를 확인하는 프로그램

<시간/>

숫자 n이 있다고 가정하면 n의 모든 회전이 소수인지 여부를 확인해야 합니다.

따라서 입력이 n =13과 같으면 13이 소수이고 31도 소수이므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • n :=n을 문자열로
  • n번의 크기에 대해 루프를 수행합니다.
    • n이 소수가 아니면
      • 거짓을 반환
    • n :=n[인덱스 1부터 끝까지] n의 첫 번째 문자 연결
  • 참 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:
   def solve(self, n):
      def is_prime(n):
         if n<=1: return False
            return not any(n%2==0 or n%i==0 for i in range(3,int(n**0.5)+1,2))
      n = str(n)
      for _ in range(len(n)):
         if not is_prime(int(n)):
            return False
            n = n[1:] + n[0]
      return True
ob = Solution()
print(ob.solve(13))

입력

13

출력

True