Евгений
Как определить какой из результатов умножения двух чисел будет наибольшим, не перемножая их. Есть какой-нибудь алгоритм?
например
756*2,31
416*3,29
377*4,82
114*9,76.
Как прикинуть в уме?
например
756*2,31
416*3,29
377*4,82
114*9,76.
Как прикинуть в уме?
Никак.. .
Быстрее, чем за o(N) не получится...
Округляй их по правилам округления до одной цифры с нулями и тогда результат перемножения можно прикинуть в уме:
756*2,31~~800*2=1600
416*3,29~~400*3=1200
377*4,82~~400*5=2000
114*9,76~~100*10=1000
я округлил первые числа до десятков, а вторые до целых, перемножил в уме и получил 750*2=1500 (1), 420*3=1260 (2), 380*5=1900 (3), 110*10=1100 (4). то есть у меня числа в порядке убывания расположились так 3, 1, 2, 4. проверь. но такой приём срабатывает не всегда. если числа различаются заметно (как 3 и 4), то ему можно доверять, а когда нет (как числа 2 и 4) то нет.