본문 바로가기
반응형
SMALL

전체 글118

정올 1740 : 소수 소수는 약수의 개수가 1과 자기자신, 총 2개라는 점을 이용하여 구현해보았다. 처음에는 이를 이용하지 않고 알아보고자 하는 수 m을 2부터 차례대로 m까지 나눠보는 식으로 하였는데 m이 1일 경우에는 따로 처리해주어야해서 복잡해졌다. 하지만 약수의 개수가 2개라는 점을 이용하여 1부터 자기자신까지 나눠주게 되면 따로 처리해주어야할 필요가 없어진다. 약수의 개수가 2개라는 점을 이용하는 것이 가장 간단한 것 같다. #include int count = 0; int primeSum(int m,int n) { int sum = 0; for (int i = m; i 2020. 4. 29.
정올 1009 : 각 자릿수의 역과 합 * 0 입력시 종료 만약 456100 을 역순으로 출력시 1. 1654 로 출력 되거나 (비교적 복잡) 2. 001654 로 출력되는 방법이 있다. (간단) 둘다 정리할 예정이지만 문제에서는 1번째로 하라고 하였으므로 1번째 먼저 정리해보겠다. 첫번째 방법은 아래의 방식을 이용한다. ex> 역순을 구하고 싶은 수: 453 (0*10) + (453%10) = 0 + 3 = 3 (3*10) + (45%10) = 30 + 5 = 35 (35*10) + (4%10) = 350 + 4 = 354 #include // quotient remainder void Reverse(int n) { int sum = 0, a = 0, b = 0; while (n) { // while(n!=0) 과 같은 표현 a = (a *.. 2020. 4. 28.
정올 1331 : 문자마름모 이차원배열의 행렬을 각각 x,y로 두고 진행한다. 우선 A,B,C,D... 어떤 순서로 진행되는지 규칙을 살펴보기 위해 모두 써보았다. (x,y) (이후 순서쌍 괄호, 콤마 생략) n=4일때 가정으로 미리 종이에 6*6 모눈종이를 그려놓고 행렬을 보기쉽게 해두면 이해하기 쉽다. ** n=4일때 가정 ** 첫번째 마름모(가장 바깥쪽) : 03 12 21 30 41 52 63 54 45 36 25 14 두번째 마름모 : 13 22 31 42 53 44 35 24 세번째 마름모 : 23 32 43 34 네번째 마름모 : 33 위에 표시해둔 글자색을 자세히 보면 규칙을 쉽게 찾을 수 있다. 보라색 부분에서는 x++, y-- 노랑색 부분에서는 x++, y++ 초록색 부분에서는 x--, y++ 검은색 부분에서는 x.. 2020. 4. 28.
정올 1707 : 달팽이 사각형 1. 첫번째 방법 이차원배열의 행열을 x,y로 두고 차례대로 횟수만큼 채워간다. 좌표 증가후 이차원배열에 수대입!! 대입을 먼저 한 후 증가하게되면 모서리부분(?)에서 수가 넘어가버린다. -> y++ -> 이동횟수 감소 -> x++ -> 이동횟수 감소 -> x-- #include int main() { int n; scanf("%d", &n); int num = 1; int x = 0; int y = -1; int m = n; // 이렇게 안해놓으면 출력 시 문제 // int arr[100][100]; 이렇게 하면 메모리 문제생김(오류는 안남) int** arr = new int* [n]; // 이부분만 c++이용하여 메모리 할당 for (int i = 0; i < n; i++) { arr[i] = ne.. 2020. 4. 28.
반응형
LIST