fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 30469 (C++) 호반우가 학교에 지각한 이유 2
최초 업로드: 2025-10-27 22:34:57
최근 수정 시간: 2025-10-27 22:34:57
게시자: rlatjwls3333
카테고리: 백준
조회수: 11
# [Silver I] 호반우가 학교에 지각한 이유 2 [문제 링크](https://www.acmicpc.net/problem/30469) ## 문제 설명 <p>이세계를 모험할 때는 무기가 필요한 법이기에 호반우는 현재 신에게 받은 소수소수검의 사용법을 익히고 있다.</p> <p>소수소수검을 사용하기 위해서는 검이 제시하는 두 자릿수의 소수 $A,\,B$와 양의 정수 $N$을 이용해 소수소수를 만들어야 한다. 소수소수란 해당 수 자체가 소수일 필요는 없지만 모든 연속된 두 자릿수가 소수인 수를 말한다.</p> <p>예를 들어 $973$은 $97$과 $73$이 소수이므로 소수소수가 되지만, $937$은 $93$이 소수가 아니기에 소수소수가 아니다.</p> <p>이때 소수소수를 만들 때 한가지 제한사항이 있는데 처음 두 자릿수는 $A$이고 마지막 두 자릿수는 $B$인 $N$ 자릿수의 소수소수를 만들어야 한다.</p> <p>아직 검의 사용법에 익숙하지 않은 호반우를 도와 소수소수를 만들어 주자.</p> ## 입력 <p>첫 번째 줄에 소수 $A,\,B$와 양의 정수 $N$이 공백을 두고 주어진다. $(7 \le N \le 100,\,11 \le A,\,B \le 97)$</p> ## 출력 <p>주어진 수들로 소수소수를 만들 수 있다면 소수소수를 아무거나 하나 출력하고 만들 수 없다면 <code><span style="color:#e74c3c;">-1</span></code>을 출력한다.</p> ## 풀이 못 만드는 경우는 b의 앞자리가 짝수이거나, 5인 경우입니다. 만들 수 있는 경우 1을 가운데에 전부 붙여 쉽게 만들 수 있습니다. 예외적으로 a가 9로 끝나는 경우 97만 소수여서 첫자리만 7입니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int a, b, n; cin >> a >> b >> n; if(b/10%2==0 || b/10==5) { cout << -1; } else { cout << a; if(a%10==9) cout << 7; else cout << 1; for(int i=0;i<n-5;i++) cout << 1; cout << b; } } ```