Ik heb op dit forum al eens de "truc" gezien om te bepalen of een getal deelbaar is door 9;
tel de cijfers bij elkaar op en als het resultaat deelbaar is door 9, dan is het oorspronkelijke getal dat ook.
Voorbeeld: 567 is deelbaar door 9, ook genoteerd als 9|567 omdat 9|5+6+7=18.
Nu kwam ik laatst ook een methode tegen om te bepalen of een getal deelbaar is door 7.
Trek het laatste getal (de eenheid) van de overgebleven cijfers.
Bijvoorbeeld: 406. Het laatste cijfer, de eenheid, is 6. Trek dat 2 keer af van de rest; 40.
40-2*6=28. 7|28 dus 7|406
Stel , dan geldt
Dat kan ook worden geformuleerd als
Op die manier kunnen de methode om deelbaarheid door 7 te testen ook zo formuleren:
als
Of ook
Ik vroeg me af of er een algemene methode is, ook om te kijken of een getal bijv. deelbaar is door 17. en ik kwam tot het volgende:
Stel dat je wilt aantonen dat een getal deelbaar is door
als
Voorbeeld:
Is 1586 deelbaar door 13?
13|158-(9-13)*6=182 dus 13|1586
Ik bekijk dit zelf nog wat verder; ook voor andere getalstelsels.
Voor nu denk ik:
Als
dan
met
Voor een g-tallig getallenstelsel.
deelbaarheid
deelbaarheid
Stap 1 van het oplossen van een probleem is te erkennen dat je een probleem hebt.
(Raffiek Torreman)
(Raffiek Torreman)
Re: deelbaarheid
Ok, ik heb alleen geen tegenvoorbeelden gevonden voor m=7 en m=13 in het 10-tallig getallenstelsel.
Voor m = 9 en m = 11 vind ik nu:
als
Dat sluit meer aan bij de eerder genoemde methode voor deelbaarheid door 9 bij een methode voor deelbaarheid door 11.
Een programma voor VBA Excel:
Met commentaar (commentaar achter de apostrof (')):
Zonder het commentaar.
De werking van het programma is onafhankelijk van het commentaar als het commentaar achter een apostrof staat.
Het programma toont niet het omgekeerde;
13 \not| 38
13 \not| 3 - (9-13)*8 dit laatste wordt niet gecontroleerd. Het kan zijn dat
13 | 3 - (9-13)*8. Controle moet nu uitwijzen of dat zo is.
Voor m = 9 en m = 11 vind ik nu:
als
Dat sluit meer aan bij de eerder genoemde methode voor deelbaarheid door 9 bij een methode voor deelbaarheid door 11.
Een programma voor VBA Excel:
Met commentaar (commentaar achter de apostrof (')):
Code: Selecteer alles
Sub deelbaarheid()
' declaratie
Dim k As Long, d As Long, t As Boolean, b As String
' initialisatie
' b wordt een boodschap in een messagebox die vertelt of voor de gekozen waarden voor d uit de
' vermoedelijke formule deelbaarheid volgt. Nu is die boodschap leeg.
b = ""
' Test de formule voor deelbaarheid door 13. Met bijv. een extra for-loop kan deelbaarheid voor
' verschil-lende waarden testen.
d = 13
' waar of onwaar. Als er een tegenvoorbeeld is gevonden, wordt t onwaar (False) anders blijft
' het waar.
t = True
' voor alle gehele getallen tussen 1 en 10000 (bijv.)
For k = 1 To 10000
' Plaats d * k, hier 13 * k
Cells(k, 1) = d * k
' Plaats cijfers van de cel in dezelfde rij in kolom 1 behalve het eenheidcijfer in cel 2.
' Trek daar (9-d) * "de eenheid" vanaf. Je kan vereenvoudigen voor d=13, maar dat deed ik
' niet voor eventueel bijv. de extra for-loop.
Cells(k, 2) = "=" & Mid(CStr(d * k), 1, Len(CStr(d * k)) - 1) _
& "-(9-" & d & ")*(" & Mid(CStr(d * k), Len(CStr(d * k)), 1) & ")"
' als de getallen in kolom 2 niet deelbaar zijn door d, hier 13, dan is t "False". Dan is er
' minstens 1 tegenvoorbeeld in de geteste waarden voor k.
If Cells(k, 2) Mod d <> 0 Then
t = False
End If
Next k
' Geef een Msgbox met de waarden voor t (True of False) met de bijbehorende waarden voor d;
' waarvoor is getest.
b = b & d & ": " & t & " "
MsgBox b
End Sub
Code: Selecteer alles
Sub deelbaarheid()
Dim k As Long, d As Long, t As Boolean, b As String
b = ""
d = 13
t = True
For k = 1 To 10000
Cells(k, 1) = d * k
Cells(k, 2) = "=" & Mid(CStr(d * k), 1, Len(CStr(d * k)) - 1) _
& "-(9-" & d & ")*(" & Mid(CStr(d * k), Len(CStr(d * k)), 1) & ")"
If Cells(k, 2) Mod d <> 0 Then
t = False
End If
Next k
b = b & d & ": " & t & " "
MsgBox b
End Sub
Het programma toont niet het omgekeerde;
13 \not| 38
13 \not| 3 - (9-13)*8 dit laatste wordt niet gecontroleerd. Het kan zijn dat
13 | 3 - (9-13)*8. Controle moet nu uitwijzen of dat zo is.
Stap 1 van het oplossen van een probleem is te erkennen dat je een probleem hebt.
(Raffiek Torreman)
(Raffiek Torreman)
-
- Vergevorderde
- Berichten: 1144
- Lid geworden op: 21 jan 2006, 15:09
- Locatie: Krimpen aan den IJssel
Re: deelbaarheid
Even een volledige andere aanpak:
Om te testen of , volstaat het natuurlijk te testen dat , en .
De testen voor 2 en 5 kan je doen door naar de laatste zoveel cijfers te kijken.
De andere testen zijn recursief van aard (maar in VB is er natuurlijk wel een makkelijkere test, maar ja).
Als , is er een getal zodat . (Bij krijg je .).
Dan geldt natuurlijk de volgende equivalentie: schrijf . Dan . Je krijgt dus als test.
De waarden voor in termen van zijn niet al te moeilijk te vinden, denk ik. Desnoods via het extended gcd algoritme!
Om te testen of , volstaat het natuurlijk te testen dat , en .
De testen voor 2 en 5 kan je doen door naar de laatste zoveel cijfers te kijken.
De andere testen zijn recursief van aard (maar in VB is er natuurlijk wel een makkelijkere test, maar ja).
Als , is er een getal zodat . (Bij krijg je .).
Dan geldt natuurlijk de volgende equivalentie: schrijf . Dan . Je krijgt dus als test.
De waarden voor in termen van zijn niet al te moeilijk te vinden, denk ik. Desnoods via het extended gcd algoritme!
``Life is complex. It has real and imaginary parts.''
Re: deelbaarheid
Mooie methode!
Ik doorloop hem een keer met een voorbeeld.
19|437?
Vind k zodat
k = 2;
437 = 43*10+7 dus b = 43 en a = 7
. De laatste is waar dus 19|437
Ik heb nog verder gekeken naar mijn methode.
voor m = 17 en m=3 krijg ik:
als
Voorbeeld: 17|4913 als 17|491-5*3=476. 17|47-5*6=17 dus 17|4913.
Voor m = 17 vond ik eerst:
maar dat klopt niet voor m=3.
Tot nu waren de "paren" m telkens opgeteld 20. (9+11), (7+13), (3+17).
Of ook, voor m = 3 en m = 17
als
Voorbeeld: 17|289 als 17|28-(5-17)*9=136
(Latex-weergave werkt nu niet optimaal bij mij).
Ik doorloop hem een keer met een voorbeeld.
19|437?
Vind k zodat
k = 2;
437 = 43*10+7 dus b = 43 en a = 7
. De laatste is waar dus 19|437
Ik heb nog verder gekeken naar mijn methode.
voor m = 17 en m=3 krijg ik:
als
Voorbeeld: 17|4913 als 17|491-5*3=476. 17|47-5*6=17 dus 17|4913.
Voor m = 17 vond ik eerst:
maar dat klopt niet voor m=3.
Tot nu waren de "paren" m telkens opgeteld 20. (9+11), (7+13), (3+17).
Of ook, voor m = 3 en m = 17
als
Voorbeeld: 17|289 als 17|28-(5-17)*9=136
(Latex-weergave werkt nu niet optimaal bij mij).
Stap 1 van het oplossen van een probleem is te erkennen dat je een probleem hebt.
(Raffiek Torreman)
(Raffiek Torreman)
Re: deelbaarheid
Trucje om te bepalen of een getal deelbaar is door 999999000001.
Neem b.v. het getal X = 1534293465706534295.
Zet achter dit getal X 6 nullen en tel de uitkomst op bij X.
Resultaat: 1534295000000000001534295.
Je ziet twee gelijke getallen gescheiden door nullen.
Dus X is deelbaar door 999999000001.
Ander voorbeeld:
Neem X = 21355546478748521272834295.
Zet er 6 nullen achter en tel er X bij op.
Resultaat 21355567834295000021355567834295.
Het getal is dus deelbaar door 999999000001.
Neem b.v. het getal X = 1534293465706534295.
Zet achter dit getal X 6 nullen en tel de uitkomst op bij X.
Resultaat: 1534295000000000001534295.
Je ziet twee gelijke getallen gescheiden door nullen.
Dus X is deelbaar door 999999000001.
Ander voorbeeld:
Neem X = 21355546478748521272834295.
Zet er 6 nullen achter en tel er X bij op.
Resultaat 21355567834295000021355567834295.
Het getal is dus deelbaar door 999999000001.
Re: deelbaarheid
Klopt niet.
Bijvoorbeeld met 11
11*57 = 627
62 + 2*7 = 76
duidelijk geen 11-voud.
Bijvoorbeeld met 11
11*57 = 627
62 + 2*7 = 76
duidelijk geen 11-voud.