336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
문제 : https://www.acmicpc.net/problem/9020
계속 런타임 에러 나길래 화났음..ㅜㅜ
그 전문제들이랑 똑같이 에라토스테네스 체 이용해서 소수들 따로 구한 뒤에 찾아주려는데
알고 보니까 sqrt(10000)까지만 for문을 돌리는 바람에 primes에 그 뒤의 숫자들이 추가가 안되는 상태...
그래서 지우고 10000까지 돌려주니까 정답! (11줄 주석처리, 14줄 수정!)
[소수 관련 문제]
2019/08/05 - [PS/백준 문제풀이] - [백준 2581] 소수
2019/08/05 - [PS/백준 문제풀이] - [백준 4948] 베르트랑 공준
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int t, n;
bool isNotPrime[10001];
vector<int> primes;
void eratos(){
//int maxi = sqrt(10000);
isNotPrime[1] = true;
for(int i = 2; i <= 10000; i++){
if(!isNotPrime[i]){
primes.push_back(i);
for(int j = i*i; j <= 10000; j += i)
isNotPrime[j] = true;
}
}
}
void solve(int a){
pair<int, int> mini;
for(int i = 0; primes[i] < a; i++){
int cur = primes[i];
int another = a - cur;
int gap = another - cur;
if(gap < 0)
break;
if(!isNotPrime[another]){
mini.first = cur;
mini.second = another;
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> t;
eratos();
while(t--){
cin >> n;
solve(n);
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
'PS > 백준 문제풀이' 카테고리의 다른 글
[백준 2098] 외판원 순회 (0) | 2019.08.06 |
---|---|
[백준 11000] 강의실 배정 (0) | 2019.08.05 |
[백준 4948] 베르트랑 공준 (0) | 2019.08.05 |
[백준 2581] 소수 (0) | 2019.08.05 |
[백준 1008] A/B (0) | 2019.08.05 |