Sunday, 1 sep 2024 22:48
[#]
nickxyzt
Eu am fost mai lenes si am facut un program simplu de brute force... intr-adevar ajungem la 0.
De exemplu, pentru numerele a:0.024 b:-0.021 c:-0.006 d:-0.009, obtinem prima valoare aproximativ 1, iar a doua aproximativ 0.
Sper sa se vada bine codul, este scris in Ruby:
numere = [] # Creare plaja de numere de test
50.times do |i|
numere << (i-25 + 1).to_f / 1000
end
numere.each do |a|
numere.each do |b|
numere.each do |c|
numere.each do |d|
valoare = (a.to_f/(b+c+d) + b.to_f/(a+c+d) + c.to_f/(a+b+d) + d.to_f/(a+b+c)).abs
if (1 - valoare).abs < 0.00001 # luam aceasta abatere posibila
valoare2 = (a*a.to_f/(b+c+d) + b*b.to_f/(a+c+d) + c*c.to_f/(a+b+d) + d*d.to_f/(a+b+c)).abs
puts "a:#{a} b:#{b} c:#{c} d:#{d} valoare: #{valoare} valoare2: #{valoare2}"
end
end
end
end
end