battle_asserts
battle_asserts copied to clipboard
battle_asserts/src/battle_asserts/issues/ruth_aaron_pairs.clj
Зачем давать на вход 2 числа, если известно, что они в форме n и n+1?
Для теста [0,1]: ни 0, ни 1, говоря строго математически, не являются ни простыми, ни составными числами (правда по разным причинам), поэтому их факторизация на простые множители не определена.
Если исходить из предположения, что факторизация 0 и 1 это пустота (nil) в обоих случаях, то nil == nil и ответ true. А если из соображения что их факторизация это неопределенность (NULL) (к тому же по разным причинам), то NULL != NULL и ответ false.
Разные языки программирования и интерпретаторы трактуют факторизацию этих чисел по разному и выбирать конкретную реализацию за эталон считаю неправильным. А с точки зрения теоретической математики ответ должен быть false.
Либо добавьте в условие пункт "Если число нельзя разложить на простые множители, то считайте факторизацию этого числа равной 0" , либо уберите вообще этот тест =)