반응형
https://www.acmicpc.net/problem/7789
구현문제였습니다.
📕 풀이방법
📔 입력 및 초기화
기존 전화번호 phoneNum과 앞 자리에 새롭게 추가되는 번호 num을 선언한 후 입력받습니다.
📔 풀이과정
함수 isPrime을 시행합니다. n을 인자로 받습니다.
소수는 나눠 떨어지는 수가 자기 자신 또는 1뿐인 수입니다. 따라서 for문을 돌며 2 ~ (num - 1)까지 num을 나누었을 때 나누어 떨어진다면 소수가 아니므로 false를 반환합니다.
for loop 탈출 후 소수이므로 true를 반환합니다.
📔 정답출력
phoneNum, num + phonenum에 대해 isPrime이 true라면 소수이므로 Yes, 아니라면 No를 출력합니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
string phoneNum, num;
bool isPrime(int n){
for(int i = 2; i < n; i++)
if(n % i == 0) return false;
return true;
}
int main(){
cin >> phoneNum >> num;
if(isPrime(stoi(phoneNum)) && isPrime(stoi(num + phoneNum))) cout << "Yes";
else cout << "No";
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 7947 : Koncert (0) | 2022.01.21 |
---|---|
(C++) - 백준(BOJ) 7891 : Can you add this? (0) | 2022.01.20 |
(C++) - 백준(BOJ) 7598 : Bookings (0) | 2022.01.17 |
(C++) - 백준(BOJ) 7595 : Triangles (0) | 2022.01.16 |
(C++) - 백준(BOJ) 24262 : 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2022.01.15 |