수학 계산기
모듈로계산기


모듈로계산기

모듈로계산기는두유리수/무리수양수/음수나누기의나머지를찾습니다. 모듈러스를수동으로찾는방법도찾을수있습니다.

모듈로

1

계산에 오류가 있었습니다.

목차

  1. 모듈러스계산기없이계산
    1. 예제
  2. 모듈로원리의클럭시연
    1. 예제
  3. 모듈로사용
    1. 짝수와홀수결정
    2. 단위변환
    3. 윤년결정
  4. 난수생성기
    1. 암호화
  5. 결론

모듈로계산기

모듈로연산은나눗셈연산나머지를찾는방법입니다. 모듈로의세부사항은나머지를정수로반환한다는것입니다.

세자녀를두는것을고려한다. 당신은 20개가들어있는사탕상자를구입합니다. 모든사탕을자녀에게균등하고공평하게나누고싶습니다. 그리고자르거나부술필요없이스스로남긴사탕을먹을수있습니다. 자녀는아직학교에다니고있습니다. 따라서먼저나눗셈후남은나머지를결정하고사탕수를먹을수있습니다.

모듈로연산자를사용할수있는경우입니다. % 기호또는 mod로나타낼수도있습니다. 작은숫자의연산은머릿속으로계산을할수있습니다. 큰숫자로작업하는경우모듈로계산기를사용하는것이더편할것입니다.

방정식은다음과같이나타낼수있습니다.

배당금 = (몫 × 제수) + 나머지

우리의경우 :

  • 배당금은 20(사탕의총량)입니다.
  • 제수는 3(자식의수)입니다.
  • 몫은 6 (각어린이의사탕수)입니다.
  • 나머지는 2개(자신이가져갈수있는사탕의수)입니다.

모듈로연산을사용하는경우다음형식으로기록할수있습니다.

x % y = r

또는

x 모드 y = r

여기서 x는피제수, y는제수, r은알림입니다.

우리의경우,

20 % 3 = 2

모듈러스계산기없이계산

구체적인경우를예로들어보겠습니다.

예제

Wayan은발리에살고있으며 6개의주거유닛이있는작은게스트하우스를짓고있습니다. 그는욕실을타일로칠할것입니다. 이미호텔건축을마친그의이웃 Gede는 Wayan에게나머지타일을구입할수있도록상당한할인을제안합니다.

이웃은창고에있는상자 15개를세어보았는데, 각상자에는 4개(60 × 60cm)의타일과 2개의타일이따로들어있었습니다. 총 62개의타일입니다. 그리고 Gede는모든타일을한번에팔고싶어합니다.

이제 Wayan은이타일로얼마나많은욕실을포장할수있는지알아내야합니다. 그리고얼마나많은타일이사용되지않은채로남아있을까요?

모듈러스연산자계산기없이수동으로모듈러스를찾는방법은무엇입니까?

Wayan은게스트하우스의표준욕실크기를측정하고방당약 14개의타일이필요하다는것을깨달았습니다.

수동계산을해보자!

  1. 시작번호또는배당금을결정하십시오. 우리의경우 62 또는이웃이제공하는타일수입니다.
  2. 약수를구합니다. 이것은표준욕실의평균타일수인 14개입니다.
  3. 피제수를제수로나누고결과를정수로반올림합니다. 62 / 14 = 4.428571428571429 또는 4. 그래서 Wayan은 4개의욕실에타일을사용할수있습니다.
  4. 나눗셈의반올림결과에제수를곱합니다. 그러면 4× 14 = 56입니다. 이것은 4개의방에대한타일수입니다.
  5. 원래배당금에서이곱셈결과를뺍니다. 즉, 62 - 56 = 6입니다. 이렇게하면 Wayan에게 6개의추가타일이남습니다.

간단하고단축된방식으로이작업을다음과같이작성할수있습니다.

62 % 14 = 6

또는

62 모드 14 = 6

Wayan은트리밍이나오해가발생할경우를대비하여타일작업을위해약 10%의타일예비비를가져와야하기때문에이것이좋은선택이라고결정했습니다. 그리고그는지역건축상점에서다른두개의욕실타일을구입할것입니다.

모드계산기는단몇초만에이결과를제공할수있습니다.

모듈로원리의클럭시연

"모듈산술"이라고불리는수학의한유형은순환구조를다룹니다. 이를표현하는가장쉬운방법은 12 사이클의다이얼입니다. 수학자의경우다이얼에는 mod 12가있습니다.

나머지없이 251시간을일로나눌수있는지확인하려면작업을적용할수있습니다

251 모드 24

결과는 11이므로대답은 '아니오'입니다! 결과가 0인경우에만 "예"라고대답할수있습니다.

예제

대니얼은애틀랜타에서마이애미로가는버스를타고싶어한다. 오후 1시에출발하며도로는 15시간이걸립니다. 그가도착하는시간은몇시입니까? 그것은

1 + 15 모드 12

4입니다. 그의경우새벽 4시가될것입니다.

모듈로사용

짝수와홀수결정

모듈러스연산자의가장기본적인용도중하나는숫자가짝수인지홀수인지확인하는것입니다. 이는 x % 2가항상 0 또는 1을반환하기때문에가능합니다. 짝수는 2로균등하게나뉘기때문에항상 0을반환하고홀수는항상나머지 1을반환합니다.

프로그래밍에서모듈로를사용하는가장일반적인경우는응용프로그램에서테이블을인쇄하고행의색을번갈아사용하려는경우입니다. 하늘색과밝은회색으로색칠하고싶을수있으므로모듈로를확인하여짝수또는홀수행에있는지확인합니다.

단위변환

단위변환은모듈로연산의실제사용의전형적인예입니다. 일반적으로분, 인치또는센티미터와같은더작은단위를시간, 마일또는킬로미터와같은더큰단위로변환하려는경우에사용됩니다. 10진수또는분수가이러한상황에서항상도움이되는것은아닙니다.

예를들어, 373분의시간수를알고싶다면 6시간 13분으로표현된결과가 6.216666666666666666667시간보다더중요할수있습니다.

표준나눗셈(가장가까운정수로반올림)은시간을결정하고모듈로연산은남은시간(분)을고려하는데사용됩니다. 시간, 거리, 압력, 에너지또는데이터저장을처리하든이일반적인접근방식을사용하여단위를변환할수있습니다.

윤년결정

모듈로연산자를사용하는또다른예는연도가윤년인지확인하는것입니다.

윤년은태양력에하루가더포함된달력연도입니다. 윤년의추가날짜는 2월 29일입니다.

기원전 45년 1월 1일, 로마의독재자가이우스율리우스카이사르는알렉산드리아의천문학자들이로마에서개발한달력을도입했습니다. 달력은천문학적연도가약 365.25일(365일 6시간)이라는계산에근거했습니다. 이달력은율리우스력이라고불렸습니다.

6시간교대근무를균등하게하기위해카이사르는윤년을도입했습니다. 3년연속으로 1년 365일이었다. 그리고매년 4의배수로 2월에하루가더추가되었습니다.

그러나시간이지남에따라이규칙만으로는충분하지않다는것이밝혀졌습니다.

평균열대년(두춘분사이의시간)은약 365일 5시간 49분입니다. 평균년과율리우스력연도(365일 6시간)의차이는약 11분이었습니다. 따라서약 128년후에는그 11분이합쳐져하루종일추가될수있습니다.

누적된오류를보완하고미래에유사한변화를피하기위해교황그레고리우스 13세는 1582년에달력을개혁했습니다. 그는윤년에대한추가규칙을추가했습니다. 윤년은여전히 4의배수였지만 100의배수인연도는예외였습니다. 이러한연도는 400으로나눌수있는경우에만윤년이었습니다.

윤년을결정하는규칙은다음과같습니다.

  • 숫자가 400의배수인연도는윤년입니다.
  • 합계가 100의배수인나머지연도는윤년이아닙니다(예: 1700, 1800, 1900, 2100, 2200, 2300).
  • 숫자가 4의배수인나머지연도는윤년입니다.
  • 다른모든연도는윤년이아닙니다.

따라서 1700년, 1800년및 1900년은 400의배수가아니라 100의배수이므로윤년이아닙니다. 1600년과 2000년은 400의배수이므로윤년입니다.

다시문제로돌아가보겠습니다.

우리는다음을알고있습니다.

  • 연도번호 mod 4 = 0이고연도번호 mod 100 ≠ 0이면윤년입니다.
  • 연도번호 mod 400 = 0이면윤년입니다.
  • 다른경우에는윤년이아닙니다.

간단한 Python 스크립트를사용하면연도가윤년인지아닌지알수있습니다. 다음과같이보일것입니다.

year = int(input('연도입력: '))

if (year%4 == 0 and year%100 != 0) or (year%400 == 0) :

print(year, "은(는) 윤년입니다.")

else:

	print(year, "은(는) 윤년이아닙니다.")

프로그래밍에서모듈로연산자의인기있는응용분야는다음과같습니다.

  • 어떤것이짝수인지홀수인지판단합니다.
  • 목록의각 N 번째항목에대해특정작업을수행합니다.
  • 숫자를범위로제한;
  • 제한된옵션을통해회전(원형배열);
  • 숫자반전;
  • 선형데이터를행렬로변환;
  • 배열이서로의회전버전인지확인; -페이지매김.

난수생성기

모듈로매칭은컴퓨터하드웨어및통신장비에서제어번호를생성하고합동난수생성기와같은제한된범위의난수를얻는데자주사용됩니다. Derrick Henry Lemer는 1949년에선형합동방법을제안했습니다.

선형합동방법은다음공식에따라작동합니다.

$$X_{n+1} = (a × X_n + c)\mod m$$

어디:

  • m은모듈로이고,
  • a는승수이고,
  • c는증분이고,
  • X₀는초기값입니다.

예를들어, m = 11, Xk = 9, a = 9, c = 9의경우다음과같은일련의난수를얻습니다.

9, 2, 5, 10, 0, 9, 2, 5, 10, 0, 9

암호화

암호학자들은모듈로를좋아합니다. 정말큰숫자와함께사용하면모듈로로 "단방향함수"라는것을만들수있기때문입니다. 이러한특수함수를사용하면한방향으로는쉽게계산할수있지만반대방향으로는계산할수없습니다.

9가제곱의결과인경우입력이 3임을빠르게확인할수있습니다. 처음부터끝까지눈앞의모든과정을상상할수있습니다. 9가 mod 29의결과라고말하면입력에무엇이있는지파악하기가더어렵습니다.

암호학자들은나머지와나눗셈을사용하여거대한소수를생성하여암호화키를만들수있기때문에이아이디어를좋아합니다.

결론

저장상자에개체를균등하게분배하려고할때, 숫자가다른숫자로나눌수있는지여부를알거나단순히시간을계산하려고할때모듈로는항상존재합니다. 이모든경우에나머지는나눗셈연산의몫만큼중요합니다.

때로는당면한문제가간단하고직관적입니다. 그러나상황이복잡할때해결책을찾기위해온라인으로계수계산기를사용하는것이항상더좋습니다.