2017. 12. 16. 19:29ㆍ0x02 Reverse Engineer/0x03. Etc
/*
문제
일곱 난장이가 있어야 하는데 2명의 난장이가 숨어 들어 왔다.
문제 풀기 위한 조건
그 2명을 찾아내어야 한다.
2명을 제외하면 난장이들의 키의 합은 100이 된다.
주어진 난쟁이 키는 20, 7, 23, 19, 10, 15, 25, 8, 13 이다.
결과는 오름차순으로 나타내어져 있다
7 8 10 13 19 20 23
*/
#include <stdio.h>
#include <iostream>
#include <algorithm>
#define MAX 100
#define NUM 9
int main(int argc, char* argv[])
{
// 우선 입력 값을 예시로 주었으니 이 값을 배열에 선언한다
int sum = 0;
int small[NUM] = { 20, 7, 23, 19, 10, 15, 25, 8, 13 };
// 실제로는 입력 값으로 주어야 한다.
/*for (int i = 0; i < NUM; i++)
{
scanf("%d", &small[i]);
}*/
for (int i = 0; i < NUM; i++)
{
sum += small[i];
}
// 9개의 숫자를 무 차별 적으로 2개를 제외하고 나머지는 더해야 한다.
// 그렇다면 [0] [1] ~> [0] [2] 이런식으로 쭉쭉 빼면서 진행해보자
for (int j = 0; j < NUM-1; j++)
{
for (int k = j + 1; k < NUM; k++)
{
if (sum - (small[j] + small[k]) == MAX)
{
printf("small[j] = %d\n", small[j]);
printf("small[k] = %d\n", small[k]);
small[j] = -1;
small[k] = -1;
}
}
}
std::sort(small, small + NUM);
for (int i = 0; i < NUM; i++)
{
if (small[i] == -1)
continue;
printf("%d\n", small[i]);
}
}
'0x02 Reverse Engineer > 0x03. Etc' 카테고리의 다른 글
suninatas 9번문제 (0) | 2017.12.30 |
---|---|
suninatas 10번 문제 (0) | 2017.12.30 |
처음 만들어 본 64비트 크랙미 분석 (0) | 2017.11.30 |
Inline Assembly (0) | 2017.10.30 |
[H4C CTF] Let's Decrypt simple write up (0) | 2017.10.29 |