코딩을 하며서 유용하거나 알아두면 좋은 수학 관련 지식이나 공식을 메모했다.
꾸준히 업데이트 예정
gcd( a , 0 ) = a
gcd( a, b ) = gcd( b, a % b)
C++ 17 부터는 <numeric>헤더에 포함된 gcd() 함수 사용가능
lcm(a ,b) = a * b / gcd(a, b)
C++ 17 부터는 <numeric>헤더에 포함된 lcm() 함수 사용가능
<algorithm> 헤더에 포함된 std::next_permutation() 함수
오름차순 정렬된 상태에서만 가능하다. 반대는 std::prev_permutation()
#include <algorithm>
#include <string>
#include <iostream>
int main()
{
std::string s = "aba";
std::sort(s.begin(), s.end());
do {
std::cout << s << '\n';
} while(std::next_permutation(s.begin(), s.end()));
}