Läs nu avsnitt 3.1 i [EG], det handlar om division med kvot och rest.
Grundläggandet för att konvertera ett tal i 10-talssystemet till ett tal i talsystemet med bas N är följande mycket viktiga egenskap vid division med heltal, som är sats 3.1 i [EG], den går under namnet Divisionssatsen :
Sats 3.1 i [EG] (Divisionssatsen). Du känner säkert redan till en del av detta resultat, det säger,
att när man dividerar ett heltal med ett positivt heltal N, så kan man arrangera
det så att man alltid får en rest bland talen 0,1, ... , N-1.
[EG] kallar denna resten för den
principala resten.
Exempel
Tag till exempel a=23 och N=3, då får man kvoten 7 och resten
2, eftersom 23=7 3 +2.
Om man delar
a=25 med N=3, så får man kvoten 8 och (principala) resten 1, eftersom 25=(8)
3 +1.
Om man delar
a=-25 med N=3, så får man kvoten -9 och (principala) resten 2, eftersom -25=(-9)
3 +2.
Om man delar
a=25 med N=-3, så får man kvoten -8 och (principala) resten 1, eftersom
25=(-8)
(-3) +1.
Om man delar
a=-25 med N=-3, så får man kvoten 9 och (principala) resten 2, eftersom
-25=(9)
(-3) +2.
Vi skall inte bevisa Divisionssatsen på denna kurs, men du skall känna
till resultatet och du skall kunna formulera satsen. Du skall också kunna hitta kvoten och
(principala) resten då a delas med N med hjälp av divisionsalgoritmen som [EG]
demonstrerar i Metod 3.1 på sidan 37.
Vi skall nu lära oss om talssystem och talbaser, men innan vi läsar avsnitt 3.2 i [EG] är det en bra idé att läsa avsnitt 3.1 och 3.2 i [D] för att repetera aritmetik med rötter och potenser.
Övning B3.2
Lös uppgift 3.1 - 3.4, 3.6 - 3.10 i [D].
Läs nu avsnitt 3.2 i [EG] om baser för systemet av heltal och hur man konverterar från en bas till en annan.
Läs nu avsnitt 3.3 i [EG] t.o.m. delavsnitt 3.3.3:
Vi difinierar också ett specialfall: 0 sägs vara en en delare till 0, men 0 är inte delare till något annat heltal.
Du skall kunna följande fundamentala resultat för delare: Sats B3.1.
Låt m, n och c vara heltal sådana att c | m och
c | n.
Då gäller att c | (m+n) och c | (m-n).
Bevis.
Eftersom m och n bägge har c som delare kan vi hitta två kvoter
q1 och q2, bägge heltal, sådana att
m=cq1 och n=cq2. Därför är
På samma sätt har vi att
m-n=cq1-cq2 =c(q1-q2),
så c är
också en faktor i m-n, dvs. c | (m-n).
Exempel
2 delar 4 och 2 delar 6, så 2 delar 10 och -2.
Sats B3.2.
Låt m, n och c vara heltal, som uppfyller att c |
m och m | n.
Då har vi att c | n.
Bevis.
Eftersom m har c som delare kan vi hitta en heltalskvot q1
sådan att
m=cq1. På samma sätt har vi att n har m som delare,
så det existerar också ett heltal q2 sådant att
n=mq2.
Vi har därför att n=mq2
=(cq1)(q2
)=c(q1q2), och c är därför
också en faktor i n, dvs. c | n.
Exempel
2 delar 4 och 4 delar 20, så 2 delar 20.
Exempel
Om du vet att 2 inte delar heltalet k, så vet du också att 4 inte delar k.
Om b | a säger vi att a är en multipel av b, och uttrycket a=bk kallas en faktorisering av a.
Talen 1 och -1 är speciella heltal, när vi talar om faktorisering,
eftersom de delar alla heltal. Vi har därför ett speciellt namn
för dessa två tal, de är så kallade enheter i
. Varje heltal a har naturligtvis de två
triviala faktoriseringarna
a=(a)(1) och a=(-a)(-1),
dvs. 1, -1, a, och -a är alltid delare till
heltalet a om a 0. Vi kallar ett
heltal b
0 för en äkta delare till
a, om b | a och b inte är en av delarna 1, -1, a, eller
-a. I delavsnitt 3.3.2 i [EG] definieras en delmängd av de positiva heltalen som kallas för de sammansatta
talen, dessa har en äkta delare. Ett primtal är ett positivt heltal, som
inte är en enhet och inte har äkta delare.
Matematiker har ända sedan antiken forskat om primtal, men trots
detta finns det än i dag många
olösta problem omkring primtal. Ett av de största problemen var
länge att hitta en snabb algoritm för
att bestämma om ett givet heltal n är ett primtal eller ej.
Detta problem blev dock löst 2002 av två
studenter vid Indian Institute of Technology i Kanpur vid namn Kayal och Saxena,
när de hittade
den så kallade AKS-algoritmen tillsammans med deras handledare Agrawal.
Vi skall inte lära oss
AKS-algoritmen på denna kurs, men det är bra att veta att den existerar, om du
skulle få användning för
den i framtiden. Låt oss i stället se på några primtalstest som fungerar
för
små tal, där problemet inte är så stort och svårt, att det är
nödvändigt med
smarta algoritmer. Man kan
t.ex. prova sig fram med alla möjliga delare:
Exempel
Låt oss undersöka, om 151 är ett primtal.
Vi kan självklart lösa detta problem genom att dela 151 med alla talen 2, 3, 4, 5, 6, ..., 150 och därmed kontrollera om ett av dessa delar 151; men detta kräver 149 divisioner och tar lång tid! Om vi tänker oss för, kan vi kanske hitta på en mer effektiv metod...
Vi observerar först, att 2 inte delar 151. Är det då möjligt
att 4 delar 151? Eller 6? Eller 8, 10, 12, 14,..., 150?
Svaret är nej, eftersom det ur sats B3.2 följer, att om heltalet
2k delar 151, då delar 2 också 151 eftersom 2 delar 2k. På
liknande sätt ses, att eftersom 3 inte delar 151, så delar ingen
multipel av 3 talet 151 heller.
Slutsatsen är, att vi, på grund av sats B3.2, endast behöver
kontrollera, om alla primtal mindre än 151 är delare till
151.
Detta reducerar problemet en hel del, men det är fortfarande för
många tal att kontrollera, så vi tänker oss för lite
till...
. . . och vi inser då, att om det finns två heltal a och b, sådana att 151=ab, måste minst ett av dessa vara mindre än eller lika med 13 (Varför? Ledning: om både a och b är större än 13, hur stort är talet ab då?).
Vi kan därför nöja oss med att kontrollera om 2, 3, 5, 7,
11 och 13 delar 151, och eftersom inget av dem gör det, kan vi dra slutsatsen
att 151 är ett primtal. Det krävs alltså endast 6 divisioner
för att slå fast att 151 är ett primtal.
Exempel
Hur många divisioner krävs för att kontrollera om 397 är
ett primtal? Svar: 8
(nämligen division med 2, 3, 5, 7, 11, 13, 17 och 19)
Metoden från föregående exempel med att kontrollera alla
möjliga primtalsdelare upp till n
är tillräckligt bra för att kontrollera om små tal n
är primtal; men om n är ett stort tal, t.ex. med 1000 siffror eller
fler, så är denna metod inte tillräckligt effektiv, inte
ens med hjälp av dagens snabbaste datorer. Det är ett öppet
forskningsproblem, om det existerar en mycket snabb algoritm som kan
faktorisera alla heltal, även mycket stora, dvs. skriva dem som en produkt av två
äkta delare. Ett av nutidens mest använda krypteringssystem (ett
krypteringssystem är ett system för utväxling av hemliga meddelanden),
det så kallade RSA-krypteringssystem, bygger på, att faktorisering
av stora tal är ett mycket svårt matematisk problem, så
om du har lust, tid och goda ideer finns det här en möjlighet till
att bli berömd!
Vi presenterar nu en mycket viktig egenskap hos primtal:
Sats B3.3.
Låt m och n vara heltal som båda är skilda från
noll, och låt p vara ett primtal så att p | mn, då
gäller
antingen att p | m eller att p | n
(eller p delar båda).
Exempel
Låt m = 36, då finns det många olika faktoriseringar av
36 med två faktorer, t.ex.
36 = 36·1 = 18·2 = 12·3 = 9·4 = 6·6 = (-6)·(-6) = (-9)·(-4) = . . .
De enda primtal, som är delare till 36 är -2, 2, -3 och 3, och sats B3.3 säger, att varje gång vi har en faktorisering av 36 med två faktorer, så delar dessa minst en av faktorerna. Tag t.ex. p=3: i faktoriseringen 36·1 delar 3 den första faktorn, i faktoriseringen 18·2 delar 3 den första faktorn, i faktoriseringen 12·3 delar 3 den första och också den andra faktorn, etc.
Vi skall inte bevisa sats B3.3 på denna kurs, men du skall känna till resultatet och du skall kunna formulera satsen.
Exempel
Sats B3.3 är inte sann om inte p är ett primtal. T.ex.
har vi att 6 | 36 och att 36=4·9, men 6 delar varken 4 eller 9.
Nederst på sidan 43 i [EG] presenteras en av algebrans huvudsatser. Den säger att alla heltal är uppbyggda av primtal. Vi ska inte bevisa denna sats på den här kursen, men nämner, att sats B3.3 är en av hörnstenarna i beviset:
Sats 3.2 i [EG] (Aritmetikens fundamentalsats)
Varje heltal (utom noll) kan skrivas som en produkt av precis en enhet
och ett ändligt antal primtal.
Det gäller ytterligare, att denna faktorisering är entydig sånär
som på faktorernas ordning.
Exempel
Vi skriver 6 som en produkt av en enhet och primtal:
Exempel
Vi skriver -6 som en produkt av en enhet och primtal:
I delavsnitt 3.3.3 visar [EG] hur man ritar delargrafen för ett positivt heltal. Du skall kunna rita en sådan delargraf.
3.2, 3.3(a)-(b),
3.4, 3.5, 3.6, 3.7,
3.9, 3.11, 3.12, 3.13, 3.14,
3.16, 3.17, 3.18,
3.37.
(ii) ett oktaltal;
(iii) ett hexadecimaltal.
(b) Uttryck decimaltalet 18723 som
(i) ett oktaltal;
(ii) ett binärtal;
(iii) ett hexadecimaltal.
(c) Antag att de decimala heltalan x och y är representerade i det binära talsystemet genom
x = (an an-1 an-2 . . . a1 a0)2 och;
y = (an an-1 an-2 . . . a1 a0 0 0 0)2.
Hur är x och y relaterade till varandra som decimala tal?
This is the 2nd Edition of the study guide for Block 4 of Discrete Mathematics for the Vocational
Study Programme in Information Technology, written by
Pia Heidtmann in 2006.
The study guide may be printed for personal use by
anybody with an interest.
This study guide and any parts of it and any previous and future versions of it must not
be copied or disseminated in any printed or electronic form
or stored on any publicly accessible website other than
http://www.tfm.miun.se/~piahei/dmy/res/
without permission from the author.
The author welcomes comments and corrections via email.
All contributions incorporated in updates of the manuscript will be acknowledged.