코딩테스트/구현|기타
[소수] (CHECK) 프로그래머스 k진수에서 소수 개수 구하기 C++
유(YOO)
2023. 1. 21. 12:45
long long 자료형
소수 구할 때 제곱근 사용
#include <string>
#include <vector>
#include <cmath>
using namespace std;
bool isPrime(long long n) {
if (n<2) return false; // 0과 1 제외
for(long long i=2; i*i<=n; i++) {
if (n%i == 0) return false;
}
return true;
}
int solution(int n, int k) {
int answer = 0;
long long val = 0;
int cnt = 0;
while(n>0) {
if (n%k == 0) {
if (isPrime(val)) answer++;
val = 0;
cnt = 0;
}
else {
val += (n%k*pow(10, cnt));
cnt++;
}
n /= k;
}
if (isPrime(val)) answer++;
return answer;
}