백준/1978/수학/소수찾기

유기태·2022년 5월 17일
0

백준/1978/수학/소수찾기
입력받은 수보다 작은 숫자들로 나누어 봐서 나뉘면 count를 증가시켜
소수가 아님을 나타내어 해결하였다.

풀이

1. 첫번째 풀이

#include<iostream>
using namespace std;

int main(void) {
	int N;
	int result = 0;
	cin >> N;

	int* arr = new int[N];

	for (int i = 0; i < N; i++) {
		cin >> arr[i];
	}

	for (int i = 0; i < N; i++) {
		int count = 0;
		if (arr[i] == 1) {
			continue;
		}
		else if (arr[i] == 2) {
			result++;
		}
		else {
			for (int j = 2; j < arr[i]; j++) {
				if (arr[i] % j == 0) {
					count++;
					break;
				}
			}
			if (count == 0) {
				result++;
			}
		}
	}
	cout << result << endl;
	delete[]arr;
}

2. 두번째 풀이(모듈화)

#include<iostream>
using namespace std;

int N;
int arr[100];
int result=0;
int count_1=0;

void solution();

void func() {
	for (int i = 0; i < N; i++) {
		count_1 = 0;
		if (arr[i] == 1)continue;
		else if (arr[i] == 2) {
			result++;
			continue;
		}
			for (int j = 2; j < arr[i]; j++) {
				if (arr[i] % j == 0)
					count_1++;
			}
		if (count_1 == 0) {
			result++;
		}
	}
	solution();
}

void solution() {
	cout << result << '\n';
}

int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N;
	for (int i = 0; i < N; i++)
		cin >> arr[i];
	func();
}
profile
게임프로그래머 지망!

0개의 댓글