6. 뒤집은 소수 구하기

Reverse, isPrime 함수를 만들어서 풀이하는 문제.

 

reverse 함수는 10의 n승 만큼을 길이를 받아 원래 수 x에서 나누어 몫을 계산하였고

그 값을 계속 제외해 나가면서 a를 구하고 

a를 number에 더해주었음.

n = int(input())
num_list = list(map(int, input().split()))


def reverse(x):

    num_digit = list(str(x))
    digit_list = []
    num = 0

    for i in range(len(num_digit)):
        a = x // (10**(len(num_digit)-(i+1)))
        x = x - a * (10**(len(num_digit)-(i+1)))
        
        num += a * (10**(i))
        num = int(num)
    
    return num

def isPrime(x):
    for i in range(2, x) :
        if x % i == 0 :
            return False
    return True

for i in num_list :
    rev_i = reverse(i)
    if isPrime(rev_i) == True : 
        print(rev_i, end=" ")

 

 

1은 소수가 아닌걸 제외하지 못했다.. ^^,, 

 

 

코드 수정 

def isPrime(x):
    if x == 1 : 
        return False
    for i in range(2, x) :
        if x % i == 0 :
            return False
    return True

 

'알고리즘과 자료구조 > 매일매일 알고리즘' 카테고리의 다른 글

8. 점수 계산하기  (0) 2024.01.04
7. 주사위 게임  (1) 2024.01.04
5. 소수 구하기(에라토스테네스 체)  (1) 2023.12.22
4. 자릿수의 합  (0) 2023.12.22
3. 정다면체  (0) 2023.12.22