728x90 Computer Science21 BOJ 10872 - 팩토리얼 https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 재귀를 기본적으로 사용할 줄 아는지 확인하는 문제이다. #include #include using namespace std; int fact(int n) { if (n == 0) { return 1; } else return n * fact(n - 1); } int main() { int n; scanf("%d", &n); printf("%d\n",fact(n)); } 위와 같이 작성했다. 이 문제를 처음 제출 했을때는 에러가 발생했다. int fact 함수에서 if(n==1)으로 설정해서 발생한 시.. 2021. 6. 18. [정리] 이중 동작 모드 (Dual-Mode Operation) 이중 동작 모드(Dual-Mode Operation) 이중 동작 모드를 사용하게 되면 운영체제를 보호할 수 있게 된다. OS위에서 여러가지 프로그램이 돌게 된다. 운영체제 자체가 자신을 구동하기 위해서 수행하는 커널 프로그램들과 운영체제 위에서 사용자들이 사용하게 되는 user application이 있다. 그런데 이 둘 모두 같은 운영체제 위에서 돌고 있기 때문에, 시스템 자원을 공유하게 된다. 그렇게 되면서 User Application에 제한을 따로 두지 않으면 해당 application에서 운영체제에 중요한 시스템 자원을 망가뜨릴수도 있게 된다. 그래서 user가 사용하는 영역과 운영체제가 사용하는 영역을 제한적으로 접근할 수 있는 보호 장치가 필요해진 것이다. 그 장치로 Dual-Mode Ope.. 2021. 4. 5. [정리] 운영체제 동작 (Operating System Operation) 현재 우리가 사용하는 대부분의 운영체제는 Interrupt driven (인터럽트 구동식)으로 동작하고 있습니다. interrupt driven이란, 말그대로 아무것도 안하고 있는 상태에서 가만히 기다리고 있다가 누군가 interrupt를 보내면 그때 그 interrupt를 보고 수행해야 할 일을 수행하는 방식입니다. Trap은 정상적이지 않은 오류(0으로 나누기, invalid한 메모리로의 접근)이나 사용자 프로그램 등에서 요청해서 생성되는 소프트웨어에 의한 interrupt입니다. 1개의 Interrupt를 처리하기 위한 1개의 Service Routine을 만들어 두게 됩니다. 어떤 인터럽트가 들어왔을 때 그 인터럽트에 해당하는 동작을 각각 정해두는 것입니다. 올바른 운영체제의 경우 한 프로그램이 .. 2021. 3. 31. <BOJ> 팩토리얼 (10872) 문제 링크 : www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net #include int fact(int _n) { if (_n == 0) return 1; else { return _n*fact(_n - 1); } } int main() { int n; scanf("%d", &n); printf("%d\n",fact(n)); return 0; } 간단한 문제 2021. 3. 31. 이전 1 2 3 4 5 6 다음 반응형