728x90
반응형
개요.
코테를 위해서 필요한 수학적 개념 정리와 이를 구하는 방법을 C++로 알아보겠습니다.
코테 수학 기초 개념
1. 약수
어떤 수나 식을 나누어 나머지가 없이 떨어지는 수나 식을 일컫는 말.
2. 최대 공약수
최대공약수(GCD)란 두 수 이상의 여러 수의 공약수 중 최대인 수를 가리킵니다.
3. 소수
1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다
4. 조합
숫자 배열에서 순서 상관없이 뽑을 수 있는 가지의 수
5. 순열
숫자 배열에서 순서에 따라 뽑을 수 있는 가지의 수
수학 기초 개념 구현
1. 약수
std::vector<int> factor(int value) {
int max = value / 2; // 모든 약수는 입력 값을 제외하면 입력값의 절반 이하에서만 나온다.
std::vector<int> factors;
for(int i = 1; i < max; i++) {
if (value % i == 0) {
factors.push_back(i);
}
}
factors.push_back(value);
return factors;
}
2. 최대 공약수
#include <iostream>
#include <vector>
int gcd(int a, int b) {
std:: cout << a << " : " << b << std::endl;
if (a % b == 0) {
return b;
}
else {
return gcd(b, a % b);
}
}
int main(int argc, char** argv){
// 두수의 최대 공약수
std::cout << gcd(10,13) << std::endl;
// 여러수의 최대 공약수
std::vector<int> array = {10, 5, 30};
int result = array[0];
for (int i = 1; i < array.size(); i++) {
result = gcd(result, array[i]);
}
std::cout<< "result : " << result << std::endl;
return 0;
}
3. 소수
728x90
반응형
'프로그래밍 > 코테 기반 지식' 카테고리의 다른 글
[코지] c++ 숫자 문자 구분 (0) | 2023.01.26 |
---|---|
[코지] c++ 프로그램의 인자를 받는 처리하는 방법 (0) | 2023.01.25 |
[코지] DFS, BFS 정리 (0) | 2022.11.02 |
[코테 준비] 문제별 알아야 할 개념과 함수 (0) | 2022.06.27 |
Doxygen을 활용한 코드 문서화 (0) | 2016.12.27 |