A + B = 8
B + D = 8
A + C = 13
C - D = 6
Jak znaleźć wartości A, B, C i D?Jak rozwiązać tę zagadkę matematyczną z Pythonem?
Przypuszczałem wartości byłoby całkowite i dodatnie i zrobił to:
a = range(0,14)
b = c = d = a
for i in a:
for x in b:
for y in c:
for z in d:
if (a[i] + b[x] == 8 and a[i] + c[y] == 13 and b[x] + d[z] == 8 and c[y]-d[z]==6):
print(a[i],b[x],c[y],d[z])
Ale to nie działa. Nawet wtedy rozszerzam zasięg do a = range(-100,100)
. Po ręcznym rozwiązaniu równania (przy pomocy Google) wiem, że są zaangażowane pływaki, np. A = 3.5
itd.
Ale jak rozwiązać ten problem za pomocą Pythona.
Gdy wykonujesz 'i in list',' i' pobiera elementy listy, a nie indeksy. Nie musisz wykonywać 'a [i]', wystarczy użyć 'i'. – Barmar
Jeśli wyniki mogą być wyświetlane jako pływające, nie można tego zrobić z wyszukiwaniem, ponieważ do wyszukiwania jest praktycznie nieskończona liczba. Aby rozwiązać problem, musisz użyć logiki. – Barmar
Na przykład, 'A + B = 8' i' B + D = 8' oznacza, że 'A == D' – Barmar