-
백준 4134번 : 다음 소수 (C언어)c c++ 언어 공부 2023. 3. 21. 22:07
https://www.acmicpc.net/problem/4134
4134번: 다음 소수
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다.
www.acmicpc.net
Code:
123456789101112131415161718192021222324252627282930313233343536373839404142#include <stdio.h>int check(long long value){long long i;int score = 0;for (i = 2; i * i <= value;i++){if ((value % i) == 0){score = 1;break;}}return score;}int main(){int n;scanf("%d", &n);long long i = 0;long long value = 0;while (n--){scanf("%lld", &value);if (value == 0 || value == 1){printf("%d\n",2);continue;}for (i = value; i < 5000000000; i++){int a = check(i);if (a == 0){printf("%lld\n", i);break;}}}}cs 문제풀이 :
소수를 구할 때 값의 제곱근만큼만 체크를 하면 소수인지 아닌지 알 수 있다. ex) 11을 확인할 때 4의 제곱은 16, 3의 제곱은 9 이므로 3까지 나누었을 때 나머지가 있으면 소수이다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 1904번 : 01타일 (C언어) (0) 2023.03.22 백준 4779번 : 칸토어 집합 (C언어) (0) 2023.03.22 백준 10101번 : 삼각형 외우기 (C언어) (0) 2023.03.21 백준 2485번 : 가로수 (C언어) (0) 2023.03.20 백준 9063번 : 대지 (C언어) (0) 2023.03.20