본문 바로가기

C3

2의 2000승 출력하기(C/C++) 2의 2000승 출력하기 설명 2천승이기 때문에 밖에 for문에서 2천 번 돌려주고 안에서는 곱하면서 받아 올림해주면 된다. 마지막으로 배열로 따지면 뒤에서부터 출력하면 된다. 코드 #include int main() { int digit[603] = { 0, }; digit[0] = 1; for (int i = 0; i = 10) { digit[j + 1] += digit[j] / 10; digit[j] %= 10; } } } for (int i = 602; i >= 0; --i) { printf("%d", .. 2018. 5. 15.
거듭제곱 빠르게 계산하기 Using loop unsigned long long pow(unsigned long long base, int exp) { long long ans = base; for (int i = 1; i < exp; ++i) { ans *= base; } return ans; } 하지만 xnx^nxn에서 nnn이 굉장히 커졌다고 생각했을 때는 이 방법은 굉장히 느리다. Using Recursive Function unsigned long long pow(unsigned long long base, int exp) { if (exp == 0) return 1; if (exp & 1) return base * pow(base * base, (exp - 1) / 2); else return pow(base * bas.. 2018. 5. 7.
선형 구조의 탐색 선형 구조의 탐색 이번 글은 선형 구조란 무엇이고 선형 구조 속에서 탐색하는 대표적인 방법 2가지를 설명한다. 선형 구조란? 선형 구조란 프로그래밍 언어를 배울 때 배우는 배열, 연결 리스트 같은 말 그대로 선 같이 생긴 데이터 구조를 선형 구조라고 한다. 반대로 비선형 구조는 트리, 그래프 등이 있다. [배열] - 대표적인 선형 구조 [연결 리스트] - 얘도 선형 구조다. 선형 탐색 선형 탐색에는 대표적으로 전체 탐색과 이분 탐색(이진 탐색)이 있다. 전체 탐색은 말 그대로 전체를 순환해서 어떠한 값을 찾는 것을 말하고 이분 탐색은 정렬된 선형 구조에서 부분적으로만 탐색을 해서 값을 찾는 부분 탐색을 말한다. 구체적인 예시와 설명을 보면서 설명하면 좋을 것 같다. 전체 탐색 전체 탐색은 전체를 순환하기.. 2018. 5. 5.