에라토스테네스 방식으로 거르기 전에 배열안에 숫자를 팰린드롬으로 이루어진 숫자만 넣고 걸러야 하지 않을까요?
저정도 범위면 거르는 동안 만해도 시간초과가 날거같은느낌이..
1990번 - 소수인팰린드롬
https://www.acmicpc.net/problem/status/1990
여기보니 6천바이트~9천바이트.. 시간복잡도를 최대한 줄였을때의 코드길이인가보네요..
방금 문제 풀어봤네요
일단 팰린드롬 수는 O(루트n)번만에 구할 수 있구요
소수도 100000000까지의 수가 아닌 그 제곱근인 1~10000까지의 소수만 구하여 풀었습니다.
팰린드롬 수 구하는 힌트를 드리면 :
'123'으로 구할 수 있는 팰린드롬 수 -> '12321' , 123321'
이러면 1~10000까지의 숫자를 이용하여 11~1000000000까지의 팰린드롬 숫자들 집합을 만들 수 있겠지요?
(한자리 수는 무조건 펠린드롬 수가 된다는거에 주의하세요)
댓글을 작성하려면 로그인해야 합니다.
jormal 9년 전 1
에라토스테네스로 걸럿는데도 시간초과가 뜨는걸 보면 다른이유가 있는거같아요
게다가 4%에서 시간ㅊ초과뜨는걸보면 체로 거르는거에선 문제가없고 아마 1 100000000이 들어와서 소수들을 팰린드롬체크하는곳에서 문제가 있는거같은데.. 어떤 방법 없을까요