в Скале, учитывая целые d
& x
, я бы логическое выражение, которое должно быть истинно тогда и только тогда, когда y = (x^2 - 1)/d^2
является квадратом.маленьких математические вещь: квадраты и закругление
Я попытался это:
(Math.sqrt((x * x - 1)/(d * d)).toInt * Math.sqrt((x * x - 1)/(d * d)).toInt == ((x * x - 1)/(d * d)))
но 3-кортеж (x = 2, d = <all values tested>, y = 0.0)
, кажется, всегда ответ моей проблемы, которая, очевидно, не так. Я думаю, что моя ошибка исходит из округления: если x = 2, d = 4 (например), то x * x - 1 == 3
и d * d == 16
, поэтому деление ведет к 0
.
Знаете ли вы, что такое хорошее выражение?
Не уверен, что вы хотите. Приведите пример, где вы должны вернуть true, а другое - false. –
привет; y = 16 => true, y = 64 => true, но y = 63 => false – lolveley
Что такое 'x', что такое' d', и как вы добираетесь до 'y = 16 => true' и т. д. .? – Teepeemm