algorism
-
연속 자연수 합algorism 2020. 1. 19. 15:58
연속된 자연수의 합 입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방 법의 가짓수를 출력하는 프로그램을 작성하세요. 만약 N=15이면 7+8=15 4+5+6=15 1+2+3+4+5=15 와 같이 총 3가지의 경우가 존재한다. 입력설명 첫 번째 줄에 양의 정수 N(7 N; for (i = N-1; i >= 1; i--)//높은 숫자부터 정렬이 되기떄문에 14부터 내림차순으로 반복 { count = 0; result = 0; int arr[16] = {0}; for (int j = i; j >=1 ; j--) { arr[count] = j; count++; result = result + j; if (result == 15) { sort(arr, arr + coun..
-
교집합algorism 2020. 1. 18. 15:15
두 집합 A, B가 주어지면 두 집합의 교집합을 출력하는 프로그램을 작성하세요. 입력설명 첫 번째 줄에 집합 A의 크기 N(1 arr[i]; } cin >> N2; vector arr2(N2); for (int i = 0; i > arr2[i]; } result = max(N, N2); vector results(result); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { if (arr[i] == arr2[j]) { results[count2] = arr[i]; count2++; } } } sort(results); } #include #include #include using namespace std; int..
-
탄화수소 계산algorism 2020. 1. 15. 16:46
탄소(C)와 수소(H)로만 이루어진 화합물을 탄화수소라고 합니다. 탄소(C) 한 개의 질량은 12g, 수소(H) 한 개의 질량은 1g입니다. 에틸렌(C2H4)의 질량은 12*2+1*4=28g입니다. 메탄(CH4)의 질량은 12*1+1*4=16g입니다. 탄화수소식이 주어지면 해당 화합물의 질량을 구하는 프로그램을 작성하세요. 입력설명 첫 줄에 탄화수소식이 주어집니다. 식의 형태는 CaHb 형태이며 (1 arr; if (arr[1] == 'H')//C 즉 탄소갯수가 1개일때C다음 바로 H가 나왔을때를 말함 { C = 1; pos = 1; } else { for (i = 1; arr[i]!='H'; i++)//H가 나올때까지 반복 { C = C * 10 + (arr[i] - 48);//숫자 구하기 } pos ..
-
병합정렬 알고리즘algorism 2020. 1. 15. 15:46
오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램 을 작성하세요. 입력설명 첫 번째 줄에 첫 번째 배열의 크기 N(1 arr[i]; } cin >> N2; for (int i = 0; i > arr2[i]; } if (N > N2) { win = N; } else { win = N2; } for (int i = 0; i arr2[i]) { result[count] = arr2[i]; count++; result[count] = arr[i]; count++; } else if (arr[i] < arr2[i]) { result[count] = arr[i]; count++; result[cou..
-
3의 갯수 구하기algorism 2020. 1. 14. 21:30
자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자 중 3의 개수가 몇 개 있는지 구하려고 합니다. 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 3의 개수는 2개입니다. 자연수 N이 입력되면 1부터 N까지 숫자를 적을 때, 3의 개수가 몇 개인지 구하여 출력하는 프로그램을 작성하세요. 입력설명 첫 줄에 자연수의 개수 N(3 N; for (int i = 1; i = 1) { tmp = tmp / 10; tmp2 = tmp2 % 10; if (tmp2 == 3) { number++; } tmp2 = tmp; } } } cout
-
카드게임algorism 2020. 1. 14. 20:49
0부터 9까지의 숫자가 표시된 카드를 가지고 두 사람 A와 B가 게임을 한다. A와 B에게는 각 각 0에서 9까지의 숫자가 하나씩 표시된 10장의 카드뭉치가 주어진다. 두 사람은 카드를 임의 의 순서로 섞은 후 숫자가 보이지 않게 일렬로 늘어놓고 게임을 시작한다. 단, 게임 도중 카드 의 순서를 바꿀 수는 없다. A와 B 각각이 늘어놓은 카드를 뒤집어서 표시된 숫자를 확인하는 것을 한 라운드라고 한 다. 게임은 첫 번째 놓인 카드부터 시작하여 순서대로 10번의 라운드로 진행된다. 각 라운드에 서는 공개된 숫자가 더 큰 사람이 승자가 된다. 승자에게는 승점 3점이 주어지고 패자에게는 승점이 주어지지 않는다. 만약 공개된 두 숫자가 같아서 비기게 되면, A, B 모두에게 승점 1 점이 주어진다. 10번의 라..
-
가위바위보게임algorism 2020. 1. 14. 20:26
A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다. 가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다. 예를 들어 N=5이면 두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램 을 작성하세요. 입력설명 첫 번째 줄에 게임 횟수인 자연수 N(1 N; vector a(N); vector b(N); for (int i = 0; i > a[i]; } for (int i = 0; i > b[i]; } for (int i = 0; i b[i] &..