From 9df0f9d08000ee7aabe7ef9c3560f6272807425d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=88=98=EB=AF=BC?= Date: Mon, 25 Nov 2024 09:36:26 +0900 Subject: [PATCH] CT_319 --- .idea/misc.xml | 2 +- ...\353\254\270\354\235\270\354\210\230.java" | 54 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 "BOJ/Java/src/S5/Boj_11068_\355\232\214\353\254\270\354\235\270\354\210\230.java" diff --git a/.idea/misc.xml b/.idea/misc.xml index 31e1ebc..7fd8396 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git "a/BOJ/Java/src/S5/Boj_11068_\355\232\214\353\254\270\354\235\270\354\210\230.java" "b/BOJ/Java/src/S5/Boj_11068_\355\232\214\353\254\270\354\235\270\354\210\230.java" new file mode 100644 index 0000000..4fd88e8 --- /dev/null +++ "b/BOJ/Java/src/S5/Boj_11068_\355\232\214\353\254\270\354\235\270\354\210\230.java" @@ -0,0 +1,54 @@ +package S5; + +import java.io.*; + +public class Boj_11068_회문인수 { + private static final String DIGITS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY!@#"; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + StringBuilder sb = new StringBuilder(); + + int T = Integer.parseInt(br.readLine()); + + for (int t = 0; t < T; t++) { + int n = Integer.parseInt(br.readLine()); + + sb.append(isHeaMoon(n) ? 1 : 0).append('\n'); + } + + bw.write(sb.toString()); + bw.flush(); + } + + private static boolean isHeaMoon(int n) { + + for (int i = 2; i <= 64; i++) { + char[] chars = customBase(n, i).toCharArray(); + boolean flag = true; + + for (int j = 0; j <= chars.length / 2; j++) { + if (chars[j] != chars[chars.length - j - 1]) { + flag = false; + break; + } + } + + if (flag) return true; + } + + return false; + } + + private static String customBase(int num, int base) { + StringBuilder result = new StringBuilder(); + + while (num > 0) { + result.append(DIGITS.charAt(num % base)); + num /= base; + } + + return result.reverse().toString(); + } +}