목록PARK/ALGORITHM (132)
DY N DY
1901 : 소수 구하기제한시간: 1Sec 메모리제한: 64mb 해결횟수: 841회 시도횟수: 3109회 소수(prime number)란 2이상의 수로써 1과 자기 자신 외에는 약수를 갖지 않는 수를 의미한다. 임의의 M값에 대하여 M에 가장 가까운 소수를 구하는 프로그램을 아래 조건에 따라 작성한다. 첫 번째 줄에는 처리해야 할 수의 개수 N을 입력 받는다. (N은 100이하의 정수) 다음 줄에는 처리해야할 수 N개(M1부터 Mn까지)를 한 줄에 한 개씩 차례로 입력 받는다. (Mi 는 1,000,000 이하의 양의 정수) 데이터의 크기가 주어진 범위를 벗어나는 입력은 없다. 임의의 값 Mi에 대해 차이가 가장 작은 소수를 구하여 출력한다. 만약 차이가 같은 소수가 여러 개이면 작은수부터 모두 출력한다..
2812 : 각 자리수의 합제한시간: 1Sec 메모리제한: 128mb 해결횟수: 619회 시도횟수: 1569회 자연수 N을 입력받아서 각 자리수의 합이 한자리가 될 때까지 그 합을 출력하는 프로그램을 작성하시오. ※ int형 변수로는 232-1 까지 입력받을 수 있다. 양의 정수 N을 입력받는다. (1 ≤ N ≤ 263-1) 첫 번째 줄에 입력받은 수의 각 자리수의 합을 출력한다. 출력한 수가 10 이상이면 그 수의 각 자리수의 합을 다음줄에 출력한다. 출력한 수가 10 미만이 될 때까지 반복하여 출력한다. [Copy] 1234567891 [Copy] 46 10 11234567891011121314151617181920212223242526272829303132333435363738394041/*****..
2604 : 그릇제한시간: 1Sec 메모리제한: 0mb 해결횟수: 1281회 시도횟수: 2257회 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. 그릇을 괄호 기호로 나타내어 설명해보자. 편의상 그릇이 쌓여지는 방향은 왼쪽에서 오른쪽이라고 가정한다. 그림에서 ‘(’은 그릇이 바닥에 바로 놓인 상태를 나타내며, ‘)’은 그릇이 거꾸로 놓인 상태를 나타낸다. 만일 그릇이 포개진 모양이 아래 그림 1(a)와 같다면 전체의 높이는 25cm가 된다. 왜냐하면 처음 바닥에 있는 그릇의 높이가 10cm이고 이후 같은 방향으로 3개의 그릇이 포개져 있으므로 늘어난..
2085 : 윤년제한시간: 1Sec 메모리제한: 32mb 해결횟수: 545회 시도횟수: 2506회 현재 어떤 사람이 살고 있는 년도 B와 다른 어떤 사람이 태어난 년도 A가 주어질 때, 그 사이에 포함된 윤년의 수가 몇인지 알아보는 프로그램을 작성하라.여기서 윤년이란 2월 29일이 있는 해를 말하며, 해당 년의 숫자가 4로 떨어지고 100으로 나눠떨어지지 않거나, 400으로 떨어지는 년을 뜻한다.태어난 년도가 윤년일 경우에는 세지 않으며, 현재 년도가 윤년일 경우는 세어준다. 입력은 2개의 자연수 B와 A가 입력되며, A와 B는 1이상 1,000,000,000 이하의 숫자이며 B가 A보다 크다. 입력된 년 사이의 A+1년부터 B년 사이에 존재하는 윤년의 수를 출력한다. [Copy] 2004 1980 [C..
2814 : 이진수제한시간: 1Sec 메모리제한: 128mb 해결횟수: 443회 시도횟수: 825회 컴퓨터는 내부적으로 0과 1 두 개의 숫자만을 사용하여 모든 프로그램이 동작된다. 이렇게 두 개의 숫자만으로 이루어진 수를 이진수라 한다. 2진수를 입력받아 10진수로 변환하여 출력하는 프로그램을 작성하시오. 0과 1로만 이루어져 있는 30자리 이하의 2진수를 입력받는다. 입력된 2진수를 10진수로 변환하여 출력한다. [Copy] 10101 [Copy] 21 1234567891011121314151617181920212223242526272829303132333435363738/************************************************************** Problem: ..
1274 : 2진수를 10진수로...제한시간: 1Sec 메모리제한: 32mb 해결횟수: 772회 시도횟수: 1299회 2진수를 입력받아 10진수로 바꾸어주는 프로그램을 작성하시오. 입력받는 2진수는 8비트로 구성되어있으며 최상위비트는 부호비트이다. 즉, 최상위 비트의 값이 0이면 양수, 1이면 음수이며 음수의 경우 2의 보수로 구성되어있다. 최상위 비트를 제외한 나머지 7개의 비트를 1, 2의 보수로 바꾸는 방법: 1의 보수는 2진수의 1과 0을 바꾸면 된다. 1101000 -> 0010111 (2진수) (1의 보수) 2의 보수는 1의 보수의 마지막 비트에 1을 더한다. 0010111 (1의 보수) + 1 --------- 0011000 (2의 보수) 입력의 첫 줄에 8자리의 2진수가 들어온다. 출력의 ..
1309 : 팩토리얼제한시간: 1Sec 메모리제한: 32mb 해결횟수: 861회 시도횟수: 2952회 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 말하며 n!로 나타낸다.0! = 1 1! = 1 2! = 2 n! = n * (n-1)! : 와 같이 정의된다.예로 4! = 4×3×2×1 = 24 이다.n! 이 주어졌을 때 결과를 출력하는 프로그램을 작성하라.* 결과가 int범위를 넘는 경우 VC/VC++는 변수 선언 __int64 입력/출력 서식문자 %I64d GCC/G++는 변수 선언 long long 입력/출력 서식문자 %lld 를 사용한다. 입력은 한 줄로 이뤄지며 팩토리얼의 숫자 n(1≤n≤15)이 입력된다. n!에 대한 계산 결과를 "출력예"처럼 과정을 출력하고 마지막에 결과를 출력한다..