Hilfe bei Mathe bitte!?

3 Antworten

Nein

Um auf der 2. Nachkommastelle eine 6 zu haben, musst du 2×10,98=21,96 verwenden.

58,86-21,96=36,90

Für die 9 als Nachkommastelle entweder 2×4,45 oder 2×5,45 oder 4,45+5,45 oder 8,90

28, 27 und 26 lassen sich aus den gegebenen Zahlen nicht als Summe darstellen.

Wolfram Alpha meint das auch ;-)

Hallo.

Um das ganze zu vereinfachen, multiplizieren wir jede Zahl mal mit 100, damit die Komma verschwinden.

Gesucht ist die Zahl 5886. Damit diese durch addieren der genannten 5 Zahlen zu Stande kommen kann, muss 1098 2x vorkommen. Denn die anderen Zahlen enden alle auf 5 oder 0 und wenn man diese addiert, kann daraus keine 6 werden.

Damit blieben noch:

5886 - 2*1098 = 3690

Da wir nun eine Zahl haben, die auf 90 endet, kommt entweder 890 mindestens 1 mal drin vor, oder die Summe aus 445 und 545.

3690 - 890 = 2800
3690 - 445 - 545 = 2700

Dies aus den restlichen Zahlen zu bilden sieht praktisch unmöglich aus.

Um sicher zu gehen, verwenden wir ein Programm geschrieben in Python (die Brechstangenmethode wenn du so möchtest):

def is_possible(target, numbers):
    if target == 0:
        return True
    if not numbers or target < 0:
        return False
    
    for i, num in enumerate(numbers):
        remaining = numbers[:i] + numbers[i+1:]
        if is_possible(target - num, remaining):
            return True
    
    return False


target_number = 58.86
given_numbers = [4.45, 5.45, 8.90, 10.98, 11.80]


if is_possible(target_number, given_numbers):
    print("Es ist möglich, die Zahl", target_number, "durch Addition der gegebenen Zahlen zu erreichen.")
else:
    print("Es ist nicht möglich, die Zahl", target_number, "durch Addition der gegebenen Zahlen zu erreichen.")

Ergebnis davon war, dass es nicht möglich ist. Wir haben hier also noch die Bestätigung für unsere Vermutung bekommen.

Woher ich das weiß:Studium / Ausbildung – Diplom Wirtschaftsinformatiker
qsp18  22.06.2023, 16:04

Wie hast du den Code als Code in deiner Antwort markiert bekommen? :O

0
GuteAntwort2021  22.06.2023, 16:06
@qsp18

Dafür gibt es das Code Tag. Den Code markieren mit der Maus und dann auf das Symbol </> drücken.

0

Nein, es ist nicht möglich.

Man könnte die Frage vereinfachen: Die 10,98 zwei mal drin vorkommen, da die Zahl auf auf 6 endet. Jetzt ist die Frage, ob es eine Zusammenstellung zu 36,9 (58.86 - 21.96) gibt. Da die 8,90 nur 2*4,45 ist, ist die 8,90 auch unnötig. Also ist nur die Frage, ob wir
=> 36,9 aus {4.45, 5.45, 11.80} bauen können?
Da die 36,9 nur eine Nachkommestelle hat, müssen wir eine gerade anzahl von {4.45, 5.45} haben
=> 36.9 aus {8.9, 9.9, 10.9, 11.80} bauen können?
Da die 36 zu klein ist für 4 mal die kleinste Zahl (8.9) und zu groß für 2 mal die grösste Zahl, wissen wir, dass wir die
=> 36.9 mit 3 Zahlen aus {8.9, 9.9, 10.9, 11.80} bauen können?
Wenn wir jetzt wieder auf die Kommazahlen gucken, dann hätten wir iwas komma 9 und iwas komma 8, wo 3 davon komma neun ergeben soll
=> .9+.9+.9 = ?.9 oder .8+.9+.9 = ?.9 oder .8+.8+.9 = ?.9 oder .8+.8+.8 = ?.9
= .9+.9+.9 = ?.7 oder .8+.9+.6 = ?.9 oder .8+.8+.5 = ?.9 oder .8+.8+.8 = ?.4
Da keine Addition komma 9 ergibt
=> NEIN, es ist nicht möglich!

Hier ist ausserdem ein c#-Programm, welches alle Möglichkeiten austestet und es gibt keine Übereinstimmung:

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
RecSub(85.86f, 0, new());
void RecSub(float a, float subtr, List<float> _prev)
{
List<float> prev = _prev.ToList();
prev.Add(subtr);
a -= subtr;
if(a < 0)
return;
if(a == 0)
{
Console.WriteLine(string.Join(", ", prev));
return;
}
RecSub(a, 4.45f, prev);
RecSub(a, 5.45f, prev);
RecSub(a, 8.90f, prev);
RecSub(a, 10.98f, prev);
RecSub(a, 11.80f, prev);
}
Console.WriteLine("End");
}
}