kleine matheaufgabe

M

MFG

Guest
Sam saß gerade an seinem Schreibtisch, als Joe eintrat. Eine Menge zerknülltes Papier lag um seinen Stuhl herum.
"Versuchst du etwa, Jack's Hausaufgaben zu lösen?" fragte Joe. "Die Kinder müssen heutzutage schon ziemlich gut sein, nicht wahr?"
"Nicht doch, es geht um etwas, das ich selbst herausgefunden habe, eine wirklich erstaunliche Sache," antwortete Sam. "Wenn man die Nummer unseres Hauses zu dem Produkt aus dieser Nummer und Jack's Alter addiert, so erhält man gerade das Doppelte vom Quadrat
meines Alters. Wenn man jedoch stattdessen Jack's Alter zu dem genannten Produkt addiert, so erhält man das Doppelte vom Quadrat des Alters meiner Frau!"
Wie alt sind demnach Sam, seine Frau und ihr Sohn Jack?


also ich kriegs nich raus :(
bin gespannt, ob das hier einer packt
und bitte nich nur das ergebnis, sondern mit rechenweg
 
a - Hausnummer
b - Jacks Alter
c = Sams Alter
d = Alter der Frau

a + a * b = 2 * c ^ 2
b + a * b = 2 * d ^ 2

soweit ich weiss, kann man mit 2 Termen keine Gleichung mit 4 unbekannten lösen (ohne zu raten)

wie weit bin ich gekommen

a + a * b = 2 * c ^ 2 | -a
b + a * b = 2 * d ^ 2 | -b

a * b = 2 * c ^ 2 - a
a * b = 2 * d ^ 2 - b

2 * c ^ 2 - a = 2 * d ^ 2 - b

eine gültige Lösung wäre somit z.B.

c = 1
a = 2
d = 4
b = 32

2 * 1 ^ 2 - 2 = 2 * 4 ^ 2 - 32

edit: isn rechenfehler drin, weil die zahlen für oben nich aufgehen

edit2: in der Annahme

Hausnummer zwischen 1 und 1000
Jack zwischen 6 und 20
Sam zwischen 20 und 60
Frau zwischen 20 und 60 hab ich mal gebruteforced:

Code:
    Sub Main()
        Dim a As Integer
        Dim b As Integer
        Dim c As Integer
        Dim d As Integer
        Dim erg1 As Integer
        Dim erg2 As Integer
        Dim erg3 As Integer
        Dim erg4 As Integer

        For a = 0 To 1000
            For b = 6 To 20
                For c = 20 To 60
                    For d = 20 To 60
                        erg1 = a + a * b
                        erg2 = 2 * c ^ 2
                        erg3 = b + a * b
                        erg4 = 2 * d ^ 2
                        If ((erg1 = erg2) And (erg3 = erg4)) Then
                            Console.WriteLine(a & " " & b & " " & c & " " & d)
                            If (Console.ReadLine() = "-1") Then
                                Exit Sub
                            End If
                        End If
                    Next d
                Next c
            Next b
        Next a
    End Sub

Ergebnis:
Hsnr 288
Jack 8
Sam 36
Frau 34

2 * 23 ^ 2 - 288 = 2 * 34 ^ 2 - 8
2304 = 2304
 
nett, vielleicht auch richtig, aber das is ja nich sinn der sache !!
man soll das ohne annahmen rausbekommen !!
 
das problem ist: es gibt mehr als eine richtige lösung im mathematischen Sinne:

z.b.

Code:
 a  b  c  d
 1 49  5  7
 2 24  5  6
24  2  6  5
49  1  7  5

2 * c ^ 2 - a = 2 * d ^ 2 - b

2 * 25 - 1 = 2 * 49 - 49 (49 = 49)
2 * 25 - 2 = 2 * 36 - 24 (48 = 48)

a + a * b = 2 * c ^ 2

1 + 1 * 49 = 2 * 25
2 + 2 * 24 = 2 * 25

b + a * b = 2 * d ^ 2

49 + 1 * 49 = 2 * 49
24 + 2 * 24 = 2 * 36

nur sind die zahlen in Hinsicht auf den Hintergrund (Alter) nicht richtig

ich lass das Programm heut nacht mal alle Zahlen von a - d von 0 - 1000 durchlaufen.

Wie gesagt um eine Gleichung mit 4 Unbekannten eindeutig zu lösen, braucht man 4 Terme.
 
es gibt also mehrere lösungen, die aber logisch nich sinnvoll sind, z.b. das der sohn älter als seine eltern ist

das dumme is, das auf der site keine lösungen stehen :(

am 14.9. ist einsendeschluss für die lösungen, dann wird die lösung wohl öffentlich hingeschrieben
ich hoffe, ich vergess das nich
http://www.mathe-spass.de/knob_02a.htm
 
@DJ Doena:
Es muss ja nicht immer rein mathematisch lösbar sein... :rolleyes:

Was mir aufgefallen ist:
1. Entweder sind sowohl die Hausnummer als auch Jacks Alter gerade oder beides ungerade, der Abstand (a-b) muss also gerade sein, weil gilt: a+a*b=2c² <=> a+a*b muss gerade sein, daher kann folgendes nicht zutreffen: a ungerade, b gerade.
Mit der anderen Formel äquivalent umgehen.

2. Mutter und Vater sind nicht gleich alt, da a=b <=> 2c²=a+a² <=> c²=a(a+1)/2, was der Summe der Zahlen von 1 bis a entspricht und das kann nie eine Quadratzahl sein...

3. Es ist tatsächlich sinnvoll,
Vorgabewerte zu setzen wie:
Alter von Jack: 6-20 (Hausaufgaben)
Alter der Eltern: jeweils 20-60
Schließlich sind die Aufgaben von dieser Seite alle nicht nur algebraisch...
Allerdings sollte die oberste Grenze für die Hausnummer eher offen bleiben (schwer bei einem Computerprogramm...) oder wenigstens auf 10000 gesetzt werden...
 
also mein Programm hat jetzt wie gesagt für a - d jeweils die grenzen 0 - 1000 eingestellt.

Das sind 1000*1000*1000*1000 = 1 Billion Kombis. Mein Compi schafft es in 30 Minuten 1 Milliarde Kombinationen zu prüfen, also brauch ich 500 Stunden um alles zu checken.

Definitiv ist jedenfalls, dass sich bei einer rihtigen Kombination die ersten beiden Zahlen vertauschen lassen, wenn man das auch mit den letzten beiden macht.

ich poste morgen mal alle Kombis, die bis jetzt gefunden worden, da dürfte ich bei 45 Mrd von 1 Bio sein.

Vor dem 14.9. ist er aber auf keinen Fall fertig.

Dennoch ist aus Sicht der Logik die von mir gepostete Lösung die wahrscheinlich einzig richtige

ich kann ja die exe hier mal posten, wenn jemand bock hat, seine CPU zu trietzen ;)
 
also ich bin jetzt bei a=55 (also 55 Mrd. überprüfter Kombinationen) und habe

Code:
  a   b   c   d
  1  49   5   7
  2  24   5   6
  8 288  34  36
 24   2   6   5
 24 242  54  55
 49   1   7   5

und wie gesagt, zu jedem gibt es ein Gegenstück (wie gut am 1.,2.,4. und 6. Datensatz zu sehen.
 
*altesTopichochschieb*

Da so langsam die Lösung erscheinen sollte, kram ich das alte Topic noch mal raus...
 
@Doena
Hast du die exe noch? Wenn ja, dann kanst du sie mir mal schicken, via E-Mail oder ICQ.
 
hier wie versprochen die exe (2,43KB) und hier auch noch der code (9,98KB), geschrieben in VB.NET als Konsolenapplikation.

Das Programm arbeitet ohne Parameter oder mit 4 Zahlen, die alle größer 0 sein müssen (Hausnr, Alter Sohn, Alter Mann, Alter Frau).
Das Programm funktioniert nach SISO (Shit In, Shit Out).

Aufruf ohne Params:
Code:
Ages
Aufruf mit Params:
Code:
Ages 1000 1000 1000 1000
ohne Params öäuft das Programm bis 10000 100 100 100


Wie ich schon gesagt habe, ist es ein .NET Programm, wenn du also nicht WinXP SP1 installiert hast, brauchst du noch das .NET Framework (20,4MB) (früher oder später drückt dir das MS eh aufs Auge), am besten mit SP2 (5,9MB)
 
man
so ne scheiße
bin gerade von meinem zivildienstlehrgang nach hause gekommen und jetzt find ich die aufgabe, also die auch die lösung, nich mehr :(
 
Zurück
Oben