Cztery cyferki: zagadka

Dziś prościutka zagadka.

Mamy do dyspozycji dwie trójki i dwie ósemki:

3, 3, 8, 8

Zadaniem jest ustawić je w odpowiedniej kolejności tak, by z pomocą czterech podstawowych operatorów matematycznych w wyniku dostać 24.

Dopuszczalne operatory to: + (dodawanie), – (odejmowanie lub zmiana znaku na przeciwny), / (dzielenie) oraz * (mnożenie). Wolno też używać nawiasów w celu wymuszenia właściwej kolejności działań.

I to wszystko. Żadnych pierwiastków, logarytmów, żadnego zaokrąglania, całek, silni ani innych cudaków. Tylko cztery podstawowe działania plus nawiasy.

Czas – start!

4
Dodaj komentarz

avatar
2 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
xpilButter Recent comment authors
  Subscribe  
najnowszy najstarszy oceniany
Powiadom o
Butter
Gość
Butter

Jeśli wynik będzie intem, to: =8*8/3+3 😉

Butter
Gość
Butter

Najbliżej oczekiwanej wartości była taka kombinacja: 8.0/(3.0- 8.0/ 3.0) = 23,99995200009
jeszcze sprawdzę, dla podwójnych nawiasów…

set nocount on
declare @res table (komb varchar(100), wynik float);
declare @txt varchar(100);

DECLARE @cur CURSOR;
SET @cur= CURSOR FOR

with licz as (select 3.0 x union select 8.0),
znaki as (select ‚+’ z union select ‚-‚ union select ‚*’ union select ‚/’ ),
naw as (select ‚ ‚ n union select ‚(‚ union select ‚)’)
select concat (n1.n, a.x, z1.z, n2.n, b.x, z2.z, n3.n, c.x, z3.z, n4.n, d.x, n5.n) txt
from licz a, licz b, licz c, licz d, znaki z1, znaki z2, znaki z3,
naw n1, naw n2, naw n3, naw n4, naw n5
where a.x* b.x* c.x* d.x =576;

open @cur
FETCH next FROM @cur INTO @txt

WHILE @@fetch_status = 0
BEGIN
begin try
insert into @res
exec(‚select ”’+@txt+”’ kombinacja,’ + @txt +’wynik’);
end try

begin catch
insert into @res(komb)
exec(‚select ”’+@txt+”’ kombinacja’);
end catch
FETCH next FROM @cur INTO @txt
END

close @cur;
deallocate @cur;

select * from @res
where wynik is not null
order by wynik;

%d bloggers like this: