Dělení se zbytkem je aritmetická operace , která hraje velkou roli v aritmetice , teorii čísel , algebře a kryptografii . Nejčastěji je tato operace definována pro celá nebo přirozená čísla následovně [1] . Nechť a být celá čísla a dělení se zbytkem („dělitelný“) pomocí („dělitel“) znamená najít celá čísla a taková, že platí rovnost:
Výsledkem dělení se zbytkem jsou tedy dvě celá čísla: nazývaná částečný kvocient dělení a zbytek dělení . Na zbytek je kladena další podmínka: to znamená, že zbytek dělení musí být nezáporné číslo a v absolutní hodnotě menší než dělitel . Tato podmínka zajišťuje jednoznačnost výsledků dělení se zbytkem pro všechna celá čísla, to znamená, že za výše uvedených podmínek existuje jednoznačné řešení rovnice . Pokud je zbytek nula, říká se, že je dělitelný
Nalezení částečného kvocientu se také nazývá celočíselné dělení a nalezení zbytku dělení se nazývá převzetí zbytku nebo neformálně modulo dělení (poslednímu termínu je však třeba se vyhnout, protože může vést k záměně s dělením v kruhu nebo skupina zbytků analogicky s adičním nebo násobením modulo ).
PříkladyOperaci dělení se zbytkem lze definovat nejen pro celá čísla, ale i pro jiné matematické objekty (například pro polynomy ), viz dále .
Zůstat přísně uvnitř přirozených čísel , jeden musí rozlišovat mezi dělením se zbytkem a dělením celým číslem, protože nulový zbytek není přirozené číslo; navíc neúplný podíl při dělení menšího čísla větším by se měl rovnat nule, což vede i mimo přirozená čísla. Všechna tato umělá omezení formulace zbytečně komplikují, takže zdroje většinou buď uvažují s rozšířenou přirozenou řadou , včetně nuly [2] , nebo je teorie rovnou formulována pro celá čísla, jak je naznačeno výše [1] .
Chcete-li vypočítat částečný podíl dělení kladným číslem , vydělte (v obvyklém smyslu) a zaokrouhlete výsledek dolů na nejbližší celé číslo :
kdy .kde polozávorky označují převzetí celočíselné části . Hodnota neúplného podílu vám umožňuje vypočítat hodnotu zbytku pomocí vzorce:
Pro záporného dělitele je třeba zaokrouhlit podíl nahoru:
kdy .Hodnotu zbytku lze získat binární operací „vzít zbytek“ z dělení , označeno mod :
Tato notace by neměla být zaměňována se srovnávací notací modulo . Vzorec pro znamená provést srovnání:
obrácená implikace však obecně neplatí. Toto srovnání totiž neznamená naplnění nerovnosti nutné k tomu, aby byla zbytkem.
Jazyk | Neúplný kvocient |
Zbytek | Zbytek znamení |
---|---|---|---|
ActionScript | % | Dividenda | |
Ada | mod | Dělič | |
rem | Dividenda | ||
ZÁKLADNÍ | \ | MOD | Nedefinováno |
C (ISO 1990) | / | % | Nedefinováno |
C (ISO 1999) | / | % | Dělitelné [3] |
C++ (ISO 2003) | / | % | Nedefinováno [4] |
C++ (ISO 2011) | / | % | Dělitelné [5] |
C# | / | % | Dividenda |
studená fúze | MOD | Dividenda | |
Lisp obecný | mod | Dělič | |
rem | Dividenda | ||
D | / | % | Dělitelné [6] |
Delphi | div | mod | Dividenda |
eiffel | // | \\ | Dividenda |
Erlang | div | rem | Dividenda |
Euforie | remainder | Dividenda | |
Microsoft Excel (anglicky) | QUOTIENT() | MOD() | Dělič |
Microsoft Excel (ruština) | ЧАСТНОЕ() | ОСТАТ() | |
tvůrce souborů | Div() | Mod() | Dělič |
Fortran | mod | Dividenda | |
modulo | Dělič | ||
GML (Game Maker) | div | mod | Dividenda |
Jít | / | % | Dividenda |
Haskell | div | mod | Dělič |
quot | rem | Dividenda | |
J | |~ | Dělič | |
Jáva | / | % | Dělitelné [7] |
Math.floorDiv | Math.floorMod | Oddělovač (1,8+) | |
JavaScript | .toFixed(0) | % | Dividenda |
Lua | % | Dělič | |
Mathematica | Quotient | Mod | Dělič |
MATLAB | idivide(?, ?, 'floor') | mod | Dělič |
idivide | rem | Dividenda | |
MySQL | DIV | MOD % |
Dividenda |
Oberon | DIV | MOD | + |
Cíl Caml | mod | Nedefinováno | |
Pascal | div | mod | Dělitelné [8] |
Perl | Ne | % | Dělič |
PHP | Ne [9] | % | Dividenda |
PL/I | mod | Oddělovač ( ANSI PL/I ) | |
Prolog (ISO 1995) | mod | Dělič | |
PureBasic | / | Mod % |
Dividenda |
Krajta | // | % | Dělič |
QBasic | \ | MOD | Dividenda |
R | %/% | %% | Dělič |
RPG | %REM | Dividenda | |
rubín | / | % | Dělič |
Systém | modulo | Dělič | |
SenseTalk | modulo | Dělič | |
rem | Dividenda | ||
tcl | % | Dělič | |
Verilog (2001) | % | Dividenda | |
VHDL | mod | Dělič | |
rem | Dividenda | ||
Visual Basic | \ | Mod | Dividenda |
Nalezení zbytku dělení se často používá ve výpočetní technice a telekomunikačních zařízeních ke generování kontrolních čísel a generování náhodných čísel v omezeném rozsahu, například v generátoru kongruentních náhodných čísel .
Označení operace odebírání zbytku v různých programovacích jazycích jsou uvedeny v tabulce vpravo. Například v Pascalu operace modvypočítá zbytek dělení a operace divprovede celočíselné dělení, ve kterém je zbytek dělení zahozen:
78 mod 33 = 12 78 div 33 = 2Operace převzetí zbytku v programovacích jazycích může vrátit záporný výsledek (pro zápornou dividendu nebo dělitele). Zde jsou dvě možnosti:
Pokud má jazyk oba typy zbytků, každý z nich má svou vlastní operaci s částečným podílem. Obě operace jsou životně důležité.
Neúplný podíl lze vypočítat vydělením a převzetím celé části: , kde , v závislosti na úloze, může být " podlaha " nebo zkrácení. Dělení je zde však zlomkové , což je mnohem pomalejší než celé číslo. Takový algoritmus se používá v jazycích, které nemají celočíselné typy (samostatné tabulky , programovatelné kalkulačky a matematické programy), stejně jako ve skriptovacích jazycích , ve kterých režie interpretace daleko převyšuje režii zlomkové aritmetiky ( Perl , PHP ).
Pokud neexistuje žádný příkaz, modzbytek je naprogramován jako .
Pokud kladné a znaménko se shoduje se znaménkem dividendy, není definováno nebo neznámé, můžete použít vzorec k nalezení minimálního nezáporného zbytku .
Neúplný kvocient a nezáporný zbytek po dělení mocninou dvou je bitový posun (pro čísla se znaménkem , aritmetika) a .
Pokud dvě čísla a (jiná než nula ) patří do množiny reálných čísel , lze je beze zbytku dělit a podíl je také reálné číslo. Pokud musí být podíl podle podmínky celé číslo , v tomto případě bude zbytek reálné číslo, to znamená, že se může ukázat jako zlomkové .
Formálně:
pokud , tak kde . PříkladVydělením 7,9 2,1 se zbytkem získáme:
(neúplný kvocient); (zbytek).Gaussovo číslo je komplexní číslo tvaru , kde jsou celá čísla. Pro ně lze definovat dělení se zbytkem: libovolné Gaussovo číslo lze dělit se zbytkem libovolným nenulovým Gaussovým číslem , to znamená:
,kde kvocient a zbytek jsou Gaussova čísla a , nicméně, na rozdíl od celých čísel, zbytek dělení není jednoznačně definován. Například lze rozdělit na tři způsoby:
Při dělení se zbytkem dvou polynomů a pro jednoznačnost výsledku je zavedena podmínka: stupeň zbývajícího polynomu musí být přísně menší než stupeň dělitele:
a . Příklad (zbytek 3 ), protože: .