Какой этаж является избыточным в этаже (sqrt (floor (x)))? - PullRequest
13 голосов
/ 18 мая 2009

у меня floor(sqrt(floor(x))). Что верно:

  1. Внутренний floor является избыточным.
  2. Внешний floor является избыточным.

Ответы [ 9 ]

36 голосов
/ 18 мая 2009

Очевидно, что внешний этаж не является избыточным, поскольку, например, sqrt(2) не является целым числом и, следовательно, floor(sqrt(2))≠sqrt(2).

Также легко увидеть, что sqrt(floor(x))≠sqrt(x) для нецелого числа x. Поскольку sqrt является монотонной функцией.

Нам нужно выяснить, действительно ли floor(sqrt(floor(x)))==floor(sqrt(x)) для всех рациональных (или действительных).

Докажем, что если sqrt(n)<m, то sqrt(n+1)<m+1 для целых чисел m,n. Легко видеть, что

n<m^2 ⇒ n+1 < m^2+1 < m^2+2m+1 = (m+1)^2

Таким образом, из-за того, что sqrt является монтоном, мы имеем, что

sqrt(n) < m -> sqrt(n+1) < m+1 -> sqrt(n+eps)<m+1 for 0<=eps<1

Для этого floor(sqrt(n))=floor(sqrt(n+eps)) для всех 0<eps<1 и целых чисел n. В противном случае предположим, что floor(sqrt(n))=m и floor(sqrt(n+eps))=m+1, и у вас есть случай, когда sqrt(n)<m+1 однако sqrt(n+eps)>=m+1.

Итак, предполагая, что необходим внешний floor, внутренний floor является избыточным.

Иначе говоря, всегда верно, что

floor(sqrt(n)) == floor(sqrt(floor(n)))

А как же внутренний ceil?

Легко видеть, что floor(sqrt(n)) ≠ floor(sqrt(ceil(n))). Например

floor(sqrt(0.001))=0, while floor(sqrt(1))=1

Однако вы можете доказать аналогичным образом, что

ceil(sqrt(n)) == ceil(sqrt(ceil(n)))
17 голосов
/ 18 мая 2009

Внутренний избыточен, внешний, конечно, нет.

Внешний не является избыточным, потому что квадратный корень из числа x дает целое число, только если x является квадратным числом.

Внутренний является избыточным, поскольку квадратный корень для любого числа в интервале [x, x + 1 [(где x - целое число) всегда лежит в интервале [floor (sqrt (x)), ceil (sqrt (x)) [и, следовательно, вам не нужно указывать число перед получением квадратного корня из него, если вас интересует только целая часть результата.

5 голосов
/ 18 мая 2009

Интуитивно я верю, что внутреннее излишне, но я не могу доказать это.

Вам не разрешено голосовать за меня, если вы не можете указать значение x, которое доказывает, что я неправ. 8 -)

Редактировать: См. Комментарий v3 к этому ответу для доказательства - спасибо, v3!

4 голосов
/ 18 мая 2009

Внутренний этаж избыточен. Доказательство от противного:

Предположим, что внутренний этаж не является избыточным. Это будет означать, что:

floor(sqrt(x)) != floor(sqrt(x+d))

для некоторых x и d, где floor (x) = этаж (x + d). Тогда у нас есть три числа для рассмотрения: a = sqrt (x), b = этаж (sqrt (x + d)), c = sqrt (x + d). b является целым числом, а a

4 голосов
/ 18 мая 2009

Внутренний этаж избыточен

3 голосов
/ 18 мая 2009

Внешний этаж не является избыточным. Контрпример: x = 2.

этаж (sqrt (этаж (2))) = этаж (sqrt (2)) = этаж (1,41 ...)

Без внешнего пола результат был бы 1,41 ...

3 голосов
/ 18 мая 2009

Если х - целое число, то внутренний этаж избыточен.

Если x не является целым числом, то ни один не является избыточным.

2 голосов
/ 18 мая 2009

Если бы внутренний этаж не был избыточным, то мы ожидали бы, что этаж (sqrt (n))! = Floor (sqrt (m)), где m = floor (n)

обратите внимание, что n - 1

floor (sqrt (n))! = Floor (sqrt (m)) требует, чтобы значения sqrt (n) и sqrt (m) отличались как минимум на 1,0

однако нет значений n, для которых sqrt (n) отличается по меньшей мере на 1,0 от sqrt (n + 1), поскольку для всех значений от 0 до 1 sqrt этого значения по определению составляет <1. </p>

таким образом, для всех значений n, floor (sqrt (n)) == floor (sqrt (n + 1)). Это противоречит исходному предположению.

Таким образом, внутренний этаж избыточен.

0 голосов
/ 04 апреля 2019

Если n^2 <= x < (n+1)^2, где n - целое число, то

  1. n <= sqrt(x) < n+1, т. Е. floor(sqrt(x)) = n;
  2. n^2 <= floor(x) < (n+1)^2, т. Е. 1011 *, т. Е. 1012 *.

Следовательно, floor(sqrt(floor(x))) = floor(sqrt(x)), что означает, что внутренний этаж является избыточным.

...