빙수달 게임 개발 노트

[C++] 학교 사물함 열기 본문

Programming/C++

[C++] 학교 사물함 열기

빙수달 2024. 12. 19. 00:23
#include <iostream>

using namespace std;

const int student_num = 101;		// 학생 수 고정
const int locker_num = 101;			// 사물함 수 고정

int main()
{
	bool lockerArr[locker_num] = { 0 };				// 사물함마다 열려있는지 닫혀있는지 판단할 bool, 처음엔 모두 닫혀있다.

	for (int i = 1; i < student_num; i++)			// 모든 100명의 학생들은 사물함을 판별한다.
	{
		for (int j = 0; j < student_num; j+=i)		// j번 째 학생들이 j번째 사물함부터 판별(조건)
		{
			lockerArr[j] ? lockerArr[j] = false : lockerArr[j] = true;		// 사물함이 열려있으면 닫고, 닫혀있느면 연다.
		}
	}

	for (int i = 0; i < locker_num; i++)
	{
		if (lockerArr[i])
		{
			cout << i << " ";		// 열려(true)있는 사물함의 위치를 출력한다.
		}
	}
	return 0;
}