본문 바로가기

백준 수학24

백준 9020) 골드바흐의 추측 (c) #include int main() { int T = 0; //Test T int n = 0; // 골드바흐 파티션 n int i = 0; int j = 0; int decimal[10001] = { 0, }; //소수일 경우 0 decimal[0] = 1, decimal[1] = 1; for (j = 2; j < 10001 / j; j++) //베르트랑 공준 참고 { if (decimal[j] == 1) continue; //소수가 아니면 통과 for (i = j * j; i < 10001; i += j) { if (i % j == 0) decimal[i] = 1; } } scanf("%d", &T); for (i = 0; i < T; i++) { scanf("%d", &n); for (j = n / .. 2020. 10. 28.
백준 4948) 베르트랑 공준 (c) #include int main() { int decimal[246913] = { 0, }; //소수면 0 아니면 1 123456*2+1 decimal[0] = 1, decimal[1] = 1; //0 1 은 소수가 아니므로 미리 선언 int i = 0; int j = 0; int N = 1; for (j = 2; j < 246913 / j; j++) { if (decimal[j] == 1) continue; //소수가 아니면 통과 for (i = j * j; i < 246913; i += j) { if (i % j == 0) decimal[i] = 1; } } scanf("%d",&N); //첨부터 0 나오면 종료시켜줘야되니 처음은 while밖에 선언 while(N!=0) { int count=0; /.. 2020. 10. 22.
백준 2581) 소수 (c) #include int main() { int M = 0; //입력 받을 최소값 int N = 0; //입력 받을 최대값 int decimal = 0; scanf_s("%d", &M); scanf_s("%d", &N); int min = N; //임의로 최댓값 대입 int i = 0; int j = 0; for (i = M; i i) min = i; } } if (decimal == 0) printf("-1"); else { printf("%d\n", decimal); printf("%d\n", min); } } 앞에 1978번 소수 찾기를 참고해서 풀어보니 잘 풀렸다. 1978번엔 3번 정도 틀렸는데 이번건 바로 성공해서 좋았다. 2020. 10. 15.
백준 1989) 소수 찾기 (c) #include int main() { int T = 0; int number = 0; //입력 받을 수 int decimal = 0; //소수 scanf_s("%d", &T); int i = 0; int j = 0; for (i = 0; i < T; i++) { int check = 0; //소수인지 아닐지 확인 scanf_s("%d", &number); //수를 입력받음 if (number == 1) continue; //1은 소수가 아니니 제외 for (j = 2; j < number; j++) { if (number % j == 0) check++; //소수가 아니면 참이되니 check++ } if (check == 0) decimal++; } printf("%d", decimal); } 처음엔 .. 2020. 10. 15.