battle_asserts icon indicating copy to clipboard operation
battle_asserts copied to clipboard

battle_asserts/src/battle_asserts/issues/ruth_aaron_pairs.clj

Open darigaaz opened this issue 9 years ago • 0 comments

Зачем давать на вход 2 числа, если известно, что они в форме n и n+1?

Для теста [0,1]: ни 0, ни 1, говоря строго математически, не являются ни простыми, ни составными числами (правда по разным причинам), поэтому их факторизация на простые множители не определена.

Если исходить из предположения, что факторизация 0 и 1 это пустота (nil) в обоих случаях, то nil == nil и ответ true. А если из соображения что их факторизация это неопределенность (NULL) (к тому же по разным причинам), то NULL != NULL и ответ false.

Разные языки программирования и интерпретаторы трактуют факторизацию этих чисел по разному и выбирать конкретную реализацию за эталон считаю неправильным. А с точки зрения теоретической математики ответ должен быть false.

Либо добавьте в условие пункт "Если число нельзя разложить на простые множители, то считайте факторизацию этого числа равной 0" , либо уберите вообще этот тест =)

darigaaz avatar Feb 26 '16 18:02 darigaaz