Java - простейшая радикальная форма - PullRequest
0 голосов
/ 10 февраля 2012

Я пытался построить программу, которая переводит радикал в простейшую радикальную форму. Мне, видимо, не повезло.

Я ищу метод, который принимает String и возвращает String.

Вход String: sqrt[160]. Я уже заставил свой метод вывести числовое значение (160).

Теперь мне просто нужно что-то разбить на 160 и вернуть String вроде: "4*sqrt[10]"

Заранее спасибо!

Примечание:

  1. Выше просто пример

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Факторизация числа, все факторы с показателем степени 2 могут быть перемещены за пределы квадратного корня. Умножьте остаток, который останется под корневым символом.

1 голос
/ 10 февраля 2012

Определите «простейшую радикальную форму».

С каких это пор sqrt(120) = 4*sqrt(10)? Мой калькулятор говорит мне, что 10.954 != 12.649. Это опечатка? Может быть, вы имели в виду sqrt(160).

Что делает вашу форму проще?

Интерфейс метода прост; логика для реализации сложнее. Вам придется разбить значение под знаком квадратного корня на целочисленные коэффициенты и искать идеальные квадратные корни.

...