분류 전체보기(85)
-
#11 - 제곱근 [매우 쉬움]
문제직각삼각형에서 직각을 이루는 두 변의 길이를 입력받고, 함수를 통해 빗변의 길이를 반환값으로 돌려받아 출력하는 프로그램을 작성하시오. 이 함수의 매개변수 및 반환값은 double로 하시오. 핵심 아이디어 ㅡ 제곱과 제곱근 ※ 결과 ㅡ 실행을 4번 반복한 결과가 다음과 같다.ㅡ 한정된 크기의 double형 변수는 유효숫자가 15이기에 완전한 실수의 표현이 불가하고, 따라서 다음의 결과는 모두 근삿값이다.ㅡ 다음과 같은 결괏값이 정확하려면 c < 10^10 이고, c는 소숫점 6자리 이하의 유한소수이어야 한다. ㅡ line 9: sqrt(k)는 특정값의 제곱근을, pow(a,b)는 첫번째 매개변수를 밑으로 하고, 다음의 수를 승수로 하는 수의 값을 계산한다. 주요 문법ㅡ 헤더파일에 존재하는 sqrt(k)..
2019.01.06 -
#10 - 함수 [매우 쉬움]
팩토리얼음이 아닌 임의의 정수 n을 입력받아 n! (n 팩토리얼)을 구하는 함수 factorial(n)을 반복문으로 작성하시오. 0! = 1, 1! = 1 이고, n≥2일 때, n! = n * (n-1)! 이다.ex) 4! = 4 * 3! = 4*(3*2*1) 핵심 아이디어ㅡ 반복문 / 재귀함수 활용ㅡ long 자료형 변수 사용 ※ 결과ㅡ 반복문과 재귀함수를 통해 두 가지의 방법으로 팩토리얼을 구하였고, 각각의 자료형을 다르게 정의했다.ㅡ 두 함수의 결과가 같을 때 코드 0로 종료되게 만들었고, 다를 때 코드 -1로 종료되게 만들었다. ㅡ 이를 통해 각 자료형의 표현 가능 범위를 비교할 수 있다. ㅡ line 09-12: 음의 정수를 입력할 경우, 함수에서 오류가 날 것을 고려하여 do while 반복문..
2019.01.03 -
#9 - 함수 [쉬움]
문제피보나치 수열은 1, 1, 2, 3, 5, 8, 13, 21 ... 로 다음과 같이 정의한다. 임의의 양의 정수 n에 대하여 f(1)=1, f(2)=1이고, n≥3일 때, f(n)=f(n-1) + f(n-2) 이다. 입력받은 임의의 정수 n에 대하여 n번째 피보나치 수열의 값을 구하는 함수 f(n)이 값을 반환하기까지 호출되는 횟수를 출력하는 프로그램을 작성하시오. 핵심 아이디어 ㅡ 재귀함수 활용 ㅡ 정적(static) 변수 활용 ※ 결과 ㅡ 좌측은 main 함수를 한 번씩 일일이 호출한 결과를 모아 정리한 것이고, ㅡ 우측은 main 함수 안을 while(1)로 묶어 반복 호출한 결과이다. ㅡ line 14: 수열의 값을 구하는 과정과는 무관하게 '함수 호출 횟수의 출력' 때문에 count1 함수를..
2019.01.02 -
#8 - 제어문 [매우 쉬움]
문제ab + ba = 154를 만족하는 (a, b)의 조합을 모두 구하는 프로그램을 작성하시오.(단, a, b는 10보다 작은 양의 정수이다.) ex ) 77+77=154 >> (7, 7)주요 아이디어ㅡ 식에 대한 선행 분석ㅡ 구해낸 조건에서 반복문 활용 주요 문법ㅡ for 반복문, if 조건문 a와 b가 각각 10보다 작은 양의 정수이기 때문에, 문제의 약속에 따라 ab는 10*a+b라고 나타낼 수 있다.ab + ba 를 정리하면 11*(a+b)이기 때문에 준식을 정리하면 a+b=14라는 조건을 얻을 수 있다.for문에서 a는 1부터 9까지만 진행되고, 그 안의 if문에서 14-a로 대표되는 b 또한 10 이상일 경우 출력을 하지 않게 된다. 실행 시간 : 약 1.1ms
2018.12.30 -
#7 - 제어문 [매우 쉬움]
문제전체 구구단은 좌측에서 우측으로, 각 단은 세로로 진행한 결과를 출력하는 프로그램을 작성하시오. 2x1=2 3x1=3 4x1=4 ... 9x1=92x2=4 3x2=6 4x2=8 ... 9x2=18...주요 아이디어ㅡ 이중 for문을 활용한다. 주요 문법ㅡ for문
2018.12.29 -
#6 - 제어문 [쉬움]
문제1부터 100까지의 하나의 난수를 발생하여 그 수를 맞추는 프로그램을 작성하시오. 1. 난수 발생반┌ 2. 난수 추측 │ 3. 추측한 수와 난수를 비교복└ 4. 범위 재설정 *이 문제에는 생각보다 많은 기본 개념이 활용된다.** 자세한 개념에 대해서는 이후 난수를 다루는 문제에서 나눠서 천천히 설명하겠다. 난수란 특정한 배열 순서나 규칙을 가지지 않는 임의의 수를 말한다. 하지만 컴퓨터가 생성한 난수는 대부분 엄밀한 의미에서 예측이 가능하고, 복사할 수 있기 때문에 특별히 모조(pseudo) 난수라 한다. C언어에서 난수를 생성하는 라이브러리 함수인 rand는 함수의 반환값이 int형이다. 인자 부분은 void인데 이것은 이 함수의 인자가 없다는 것을 의미한다. 함수 rand는 0부터 32767 사이..
2018.12.29