모듈러연산 너무 어렵습니다..도움 바랍니다.

안녕하세요 이제 막 코딩공부를 하고 있습니다.

모듈러연산에서 막혔습니다.

모듈러연산을 구하는 코드를 알고싶습니다.. 머리를 꽁꽁 싸매봐도 어렵네요 코드와 설명 해주시면 너무 감사하겠습니다..

제곱을 이용해서 만들고 싶습니다 예를들어 2의3승 mod7 =1

    2개의 답변이 있어요!

    • % 연산자를 놔두고 모듈러 연산을 직접 구하고 싶다는 말씀이신건가요?

      while(number > mod) number -= mod

      number가 2의 8승이라면 number에는 1이 남게 됩니다.

      while문을 이용하여 구현할 수 있습니다.

      2의 n승 구현은 분할 정복으로 구현할 수 있습니다.

      자세한 설명은 너무 길어 괜찮은 블로그 링크를 드리겠습니다.

      https://bloodstrawberry.tistory.com/185

    • 언어를 말씀하시지 않아서 JAVA 기준으로 작성해 드릴께요.

      public int modular(int x, int y){

      int result = 1;

      for(;y > 0; y--){ // y가 0보다 큰경우 아래 구문을 실행하고 y에서 1을 뺍니다. y가 3인경우 3번반복 실행

      result = result * x;

      }

      result = result % 7; // %는 나머지를 구하는 연산입니다.

      return result;

      }