본문 바로가기

C언어/Do it! 개념 정리5

#2-1. 기본 자료구조 - 배열(소수의 나열) 소수의 나열 소수: 자신과 1 이외의 정수로 나누어떨어지지 않는 정수. 소수 판별법 1) 2부터 n-1 까지 for문이 중단되지 않는다. 2) 2부터 n-1까지의 어떤 소수로도 나누어 떨어지지 않는다. 1 과 2 비교 -> 같은 답을 얻는 알고리즘은 하나가 아니다. 빠른 알고리즘은 메모리를 많이 요구한다. 3의 Idea -> 100의 약수를 그래프로 나타내면 대칭이다. 3-1) n의 제곱근 이하의 어떤 소수로도 나누어 떨어지지 않는다. 3-2) prime[i]의 제곱이 n 이하인가? 2022. 2. 20.
#2-1. 기본 자료구조 - 배열 (1) 자료구조의 정의 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 데이터 단위란 데이터를 구성하는 한 덩어리이고, 자료구조는 쉽게 말해서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법을 말한다. 배열 같은 자료형의 변수로 이루어진 요소가 직선 모양으로 줄지어 있는 자료구조. 배열이름[인덱스] 의 형태로 되어있고, 접근도 저렇게 할 수 있다. 배열 요솟값 초기화 int a[5] = {1, 2, 3, 4, 5}; 처럼 선언할 때 미리 값을 대입한다. 배열의 요소 개수 구하기 sizeof(a) = 전체 배열의 할당된 메모리 크기, sizeof(a[0]) = 첫번째 요소가 할당된 메모리 크기 요소 개수 = sizeof(a) / sizeof(a[0]) ! 인덱스, 즉 요소 개수는 상수만 가.. 2022. 1. 8.
#1-2. 반복 반복 알고리즘 ->while, for, do while 와 같은 반복문법을 사용한다. while문 - 실행 전 반복할지 판단 = '사전 판단 반복 구조' 형태 while(조건) { 명령문 } for문 - 하나의 변수를 사용할 때는 while보다 for문이 좋다. 형태 for(초기값: 조건값: 증감값) { 명령문 } Q7: n에 따라 1부터 n까지의 합을 출력하는 프로그램 만들기. ex) if n = 4, 1 + 2 + 3 + 4 = 10 형태로 출력 int main(void) { int N; int sum = 0; scanf("%d", &N); for (int i = 1; i < N; i++) { printf("%d", i); printf(" + "); sum += i; } printf("%d = %d\.. 2021. 12. 31.
#1-1. 기본 알고리즘 01-1 알고리즘이란? 이 장에서는 알고리즘의 개념을 설명하기 위해 간단한 최대값 찾기 문제를 보여주고 있다. 최대값 찾기는 대부분할 수 있기 때문에, 바로 알고리즘의 개념을 설명하자면 다음과 같다. 알고리즘이란 : 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이루어진 집합 연습문제 Q1: 네 값의 최대값을 구하는 함수 max4를 작성하세요. 인자가 적다면 반복문보다는 하나씩 비교하는 것이 더 빠를 것 같아 반복문을 쓰지 않고 풀어보았다. #include int max4(int a, int b, int c, int d) { int func_max = a; if (func_max < b) { func_max = b; } if (func_max < c) { func_max.. 2021. 12. 28.
728x90