본문 바로가기

정보올림피아드&알고리즘

소수와 합성수 소수와 합성수 문제 소수(prime number)란 1보다 큰 자연수 중 1과 자기 자신 두 개만을 약수로 갖는 수를 말한다. 합성수(composite number)란 1보다 큰 자연수 중 소수가 아닌 수를 말하며 3개 이상의 약수를 갖는다. 1은 소수도 합성수도 아니다. 5개의 자연수를 입력받아 소수인지 합성수인지를 판단하는 프로그램을 작성하시오.​ 입력형식 10억 이하의 자연수 5개가 공백으로 구분되어 주어진다. 출력형식 입력된 순서대로 한 줄에 한 개씩 소수이면 "prime number", 합성수이면 "composite number", 소수도 합성수도 아니면 "number one"이라고 출력한다. 입력 예 3 10 1 55 127 출력 예 prime number composite number num.. 더보기
각 자리수의 역과 합(Number Reverse) 각 자리수의 역과 합(Number Reverse) 문제 양의 정수를 입력받아 역으로 보여주고 각 자리 숫자의 합을 구하는 프로그램을 작성하라. 입력형식 21억 이하의 양의 정수를 입력받는다. 잘못된 데이터는 입력되지 않는다. 하나의 결과가 나온 후에도 계속 새로운 입력을 받다가 0이 입력되면 프로그램을 종료한다. 최대 10개의 양의 정수가 입력될 수 있다. 출력형식 입력받은 수의 역과 각 자리 숫자의 합을 공백으로 구분하여 출력한다. 유효하지않은 "0"은 출력하지 않는다. 입력받은 수의 역도 21억 이하의 정수이다. 입력 예 453 123456 0 출력 예 354 12 654321 21 더보기
별삼각형1부터 홀수 마방진 소스코드 보호되어 있는 글입니다. 더보기
홀수 마방진 홀수 마방진 문제 ​홀수 정사각형의 크기를 입력 받은 후, 가로 세로 대각선의 합이 일정한 마방진을 출력하는 프로그램을 작성하시오. 마방진이란 1부터 N*N까지의 숫자를 한 번씩만 써서 정사각형에 배치하여 가로와 세로, 그리고 대각선의 합이 같도록 하는 것이다. 다음의 순서에 따라 각 위치에 차례대로 값을 넣는다. 1. 첫 번째 숫자인 1을 넣는 위치는 첫 번째 행 가운데이다. 2. 숫자가 N의 배수이면 바로 아래의 행으로 이동하여 다음의 수를 넣고 3. 그렇지 않으면 왼쪽 위로 이동하여 다음의 숫자를 넣는다. 만약 행이 첫 번째를 벗어나면 마지막 행으로 이동하고, 열이 첫 번째를 벗어나면 마지막 열로 이동한다.​ 아래는 N이 3인 경우의 예이다. 1. 첫 번째 행 가운데(1,2)에 1을 넣는다. 2. .. 더보기
대각선 지그재그 대각선 지그재그 문제 정사각형의 크기를 입력 받은 후 대각선으로 지그재그 형태인 다음과 같은 형태로 출력하는 프로그램을 작성하시오. (1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입시킨다. (2) 대각선을 기준으로 계속 지그재그 모양으로 채워져야 하며 숫자는 1씩 증가하는 형태로 채워나가야 한다. 입력형식 정사각형의 크기 n(1부터 100사이의 정수)을 입력받는다. 출력형식 위에서 언급한 형태의 지그재그 모양의 정사각형의 내부 숫자를 차례로 채운 후의 모습을 출력한다. 숫자 사이는 공백으로 구분한다. 입력 예1 3 출력 예1 1 3 4 2 5 8 6 7 9 입력 예2 2 출력 예2 1 3 2 4 더보기
문자마름모 문자마름모 문제 마름모의 한 변의 길이 N을 입력 받아 아래와 같이 문자 마름모를 출력하는 프로그램을 작성하시오. (1) 첫 번째 행의 중앙부터 출발하여 시계 반대 방향으로 'A' 부터 차례대로 채워나간다. ('Z'다음에는 다시 'A'가 된다.) (2) 바깥 부분이 다 채워지면 두 번째 행 중앙부터 다시 같은 작업을 반복한다. (3) 같은 방법으로 마름모를 다 채워지도록 하여 출력한다. 입력형식 마름모의 한변의 길이 N(N의 범위는 100 이하의 양의 정수)을 입력받는다. 출력형식 주어진 형태대로 한 변의 길이가 N인 문자 마름모를 출력한다. 문자 사이는 한 개의 공백으로 구분한다. 주의 : 출력 시 널 문자('NULL', '\0')는 출력 되지 않게 하세요.. 입력 예 4 출력 예 A .. 더보기
달팽이사각형 달팽이사각형 문제 정사각형의 크기를 입력 받은 후 시계 방향으로 돌면서 다음과 같은 형태로 출력하는 프로그램을 작성하시오. (1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입 시킨다. (2) 오른쪽으로 채워 나가다가 끝이면 다시 아래 → 왼쪽 → 위 →오른쪽의 순으로 모두 채워질 때까지 반복한다. 입력형식 정사각형의 크기 n(1부터 100사이의 정수)을 입력받는다. 출력형식 위에서 언급한 형태로 정사각형의 내부 숫자를 차례로 채운 후의 모습을 출력한다. 숫자 사이는 공백으로 구분한다. 입력 예1 5 출력 예1 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 입력 예2 2 출력 예2 1 2 4 3 더보기
파스칼 삼각형 파스칼 삼각형 문제 파스칼 삼각형이란 아래 과 같은 자신의 왼쪽 위의 좌표와 오른쪽 위의 좌표 값을 더해서 값을 계속 갱신해 나가는 형태의 삼각형을 말한다. 아래와 같은 파스칼 삼각형의 높이 n과 종류 m을 입력 받은 후 다음과 같은 형태의 파스칼 삼각형을 출력하는 프로그램을 작성하시오. m에 대한 파스칼 삼각형의 모습은 아래 의 모습과 같다. 입력형식 삼각형의 높이n(1부터 30사이의 정수)과 종류m(1부터 3사이의 정수)을 입력받는다. 출력형식 위에서 제시한 형태의 파스칼 삼각형을 입력에서 들어온 높이 n과 종류 m에 맞춰서 출력한다. 숫자는 한 칸의 공백으로 구분하여 출력한다. 입력 예1 5 1 출력 예1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 입력 예 6 3 출력 예 1 5 1 10.. 더보기