알고리즘 분류/수학과 연산자
-
페르마는.. 무려 변호사에 취미 삼아 수학을 했다고 한다. ㅎㄷㄷ 피에르 드 페르마 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 피에르 드 페르마 - 위키백과, 우리 모두의 백과사전 피에르 드 페르마(프랑스어: Pierre de Fermat, 프랑스어 발음: [pjɛːʁ də fɛʁma], 1607년 ~ 1665년 1월 12일)는 프랑스의 변호사이자 수학자이다. 페르마는 미적분학에서 이용되는 여러 방법을 창안하 ko.wikipedia.org 이번 포스트에서는 나머지연산의 순환 특성과 연관된 "페르마의 소정리"라는 것을 알아보고 왜 중요한지 고민해보는 시간을 가져보자. 나머지의 순환 나머지 연산 누구나 알듯이 나머지 연산은 아래와 같이 정의해 볼 수 있다. n=ax+b에서 n%a = ..
[수학]페르마 소정리페르마는.. 무려 변호사에 취미 삼아 수학을 했다고 한다. ㅎㄷㄷ 피에르 드 페르마 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 피에르 드 페르마 - 위키백과, 우리 모두의 백과사전 피에르 드 페르마(프랑스어: Pierre de Fermat, 프랑스어 발음: [pjɛːʁ də fɛʁma], 1607년 ~ 1665년 1월 12일)는 프랑스의 변호사이자 수학자이다. 페르마는 미적분학에서 이용되는 여러 방법을 창안하 ko.wikipedia.org 이번 포스트에서는 나머지연산의 순환 특성과 연관된 "페르마의 소정리"라는 것을 알아보고 왜 중요한지 고민해보는 시간을 가져보자. 나머지의 순환 나머지 연산 누구나 알듯이 나머지 연산은 아래와 같이 정의해 볼 수 있다. n=ax+b에서 n%a = ..
2022.07.10 -
APS과정에서 연산의 결과가 long을 넘는 아주 큰 수에 대한 사칙 연산이 필요한 경우가 있다. 당연히 overflow가 발생하기 때문에 결과 처리가 상당히 어렵다. long a = Long.MAX_VALUE -1; long b = Long.MAX_VALUE -1; System.out.println(a + b); // -4 그래서 특정 수로 나눈 나머지를 구하라는 문제가 자주 등장한다. // 합을 1007로 나눈 나머지를 출력하시오. System.out.println((a + b) / 1007) ? 하지만 위와 같은 경우도 a+b가 연산되는 과정에서 이미 overflowr가 발생하므로 원하는 답을 얻기 어렵다. 이런 경우 나머지 연산자의 분배 법칙을 이용해야 한다. 각각 %를 취한 후 다시 전체적으로 ..
[연산자]나머지 연산과 분배법칙APS과정에서 연산의 결과가 long을 넘는 아주 큰 수에 대한 사칙 연산이 필요한 경우가 있다. 당연히 overflow가 발생하기 때문에 결과 처리가 상당히 어렵다. long a = Long.MAX_VALUE -1; long b = Long.MAX_VALUE -1; System.out.println(a + b); // -4 그래서 특정 수로 나눈 나머지를 구하라는 문제가 자주 등장한다. // 합을 1007로 나눈 나머지를 출력하시오. System.out.println((a + b) / 1007) ? 하지만 위와 같은 경우도 a+b가 연산되는 과정에서 이미 overflowr가 발생하므로 원하는 답을 얻기 어렵다. 이런 경우 나머지 연산자의 분배 법칙을 이용해야 한다. 각각 %를 취한 후 다시 전체적으로 ..
2022.07.10 -
이번 포스트에서는 비트 연산자에 대해 알아보자. 비트연산자(bitwise operator) 비트연산자란? 비트 연산자는 말 그대로 0, 1로 구성된 비트를 피 연산자로 하는 연산자로 &, |, ~, ^, , >>> 7가지가 있다. 이중 , >>>를 이동 연산자(shift operator)라고 하고 나머지 &, |, ~, ^를 논리연산자라고 한다. &, |, !의 경우 피연산자가 boolean 타입을 가질 수 있는데 이들은 단지 true/false만을 판단하며 비트 연산자와 성격이 다르다. true & false, !true 등 이동연산자(shift operator) 쉬프트 연산자는 가 있으며 각각 전체 비트를 왼쪽 또는 오른쪽으로 이동시킨다. 이때 밀리는 칸은 없어지고 추가되는 칸은 0으로 채워진다. 각..
[연산자]비트연산자의 활용이번 포스트에서는 비트 연산자에 대해 알아보자. 비트연산자(bitwise operator) 비트연산자란? 비트 연산자는 말 그대로 0, 1로 구성된 비트를 피 연산자로 하는 연산자로 &, |, ~, ^, , >>> 7가지가 있다. 이중 , >>>를 이동 연산자(shift operator)라고 하고 나머지 &, |, ~, ^를 논리연산자라고 한다. &, |, !의 경우 피연산자가 boolean 타입을 가질 수 있는데 이들은 단지 true/false만을 판단하며 비트 연산자와 성격이 다르다. true & false, !true 등 이동연산자(shift operator) 쉬프트 연산자는 가 있으며 각각 전체 비트를 왼쪽 또는 오른쪽으로 이동시킨다. 이때 밀리는 칸은 없어지고 추가되는 칸은 0으로 채워진다. 각..
2022.07.10