:: ADVANCE ::
90일차 1. sprime 본문
반응형
http://183.106.113.109/30stair/sprime/sprime.php?pname=sprime
super prime
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 |
#include <iostream>
using namespace std;
int check_prime(int n)
{
int i;
if(n == 1) return 0;
for(i = 2; i*i <= n; i++) {
if(n%i == 0) {
return 0;
}
}
return 1;
}
void make_num(int prime, int n, int e)
{
int i;
prime = prime * 10 + n;
if(e == 1) {
if(check_prime(prime)) {
cout << prime << endl;
}
return ;
}
if(check_prime(prime)) {
for(i = 1; i < 10; i += 2) {
make_num(prime, i, e-1);
}
}
return ;
}
int main(void)
{
int e;
cin >> e;
make_num(0, 2, e);
make_num(0, 3, e);
make_num(0, 5, e);
make_num(0, 7, e);
return 0;
} |
ex) 7331, 733, 73, 7 이 소수이어야 super prime이라 한다.
한자리 소수를 찾고(7) 그 다음에 수를 붙여서 소수인지 판별하였다.
다음에 붙을 수를 1~9로 하여도 좋으나
맨 처음의 수는 한자리만으로 소수임을 판별하여야 하므로
직접 2, 3, 5, 7을 함수로 넣었으며 다음에 붙을 수는 짝수는 제외하여
연산량을 줄였다.
반응형
'Algorithm > 일일알고리즘' 카테고리의 다른 글
95일차 1. omok (0) | 2014.10.12 |
---|---|
87일차 1. cross (0) | 2014.10.08 |
91일차 1. eratosthenes (0) | 2014.10.07 |
86일차 1. ncpc_event (0) | 2014.10.02 |
85일차 1. ladder (0) | 2014.10.02 |
Comments