백준 2581번
import java.util.Scanner;
public class problem499 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
int sum = 0;
int min = n;
boolean flag = false;
for (int i = m; i <= n; i++) {
if (isPrime(i)) {
sum += i;
min = Math.min(min, i);
flag = true;
}
}
// 소수 일경우 소수의 합, 최소값을 구한다.
if (flag) {
System.out.println(sum);
System.out.println(min);
} else {
System.out.println(-1);
}
}
private static boolean isPrime(int num) {
if (num == 1) {
return false;
}
// 아스토스체를 이용해 제곱근으로 판별
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
백준 5618번
import java.util.Arrays;
import java.util.Scanner;
public class problem500 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int size = in.nextInt();
int[] numbers = new int[size];
for (int i = 0; i < size; i++) {
numbers[i] = in.nextInt();
}
Arrays.sort(numbers);
// 최소값인 원소 까지 비교합니다.
for (int i = 1; i <= numbers[0]; i++) {
int count = 0;
for (int j = 0; j < size; j++) {
if(numbers[j] % i == 0){
count++;
}
}
// count 갯수와, size가 같은경우 = 공통의 약수
if(count == size){
System.out.println(i);
}
}
}
}
백준 2745번
import java.util.Scanner;
public class problem501 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String inputString = in.next();
int inputInt = in.nextInt();
int sum = 0;
int multi = 1;
// 자릿수에 의해 inputString의 1의 자리부터 계산 합니다.
for (int i = inputString.length() - 1; i >= 0; i--) {
char ch = inputString.charAt(i);
// 알파벳일 경우
if (ch >= 'A' && ch <= 'Z') {
sum += (ch - 'A' + 10) * multi;
}
// 숫자일 경우
else {
sum += (ch - '0') * multi;
}
multi *= inputInt;
}
System.out.println(sum);
}
}