1 / 1 / 0
Регистрация: 13.05.2014
Сообщений: 39
|
||||||
1 | ||||||
Реализуйте:может ли заданное целое число быть представлено в виде суммы квадратов двух целых11.10.2015, 19:53. Показов 1873. Ответов 2
Метки нет (Все метки)
/*Реализуйте метод, проверяющий, может ли заданное целое число быть представлено в виде суммы квадратов двух целых чисел.*/
Пока получается вот что:
0
|
11.10.2015, 19:53 | |
Ответы с готовыми решениями:
2
Java2 может ли целое число быть представлено каким-либо произведением цифр, входящих в это число Определить, можно ли заданное число представить в виде суммы двух квадратов Определить, можно ли заданное натуральное число n представить в виде суммы двух квадратов Заданное натуральное число M представить в виде суммы квадратов двух натуральных чисел. |
2 / 2 / 1
Регистрация: 22.07.2015
Сообщений: 36
|
|
11.10.2015, 23:01 | 2 |
Я так понимаю, что алгоритм проверки намного проще. Почитайте эту статью, там он описан алгоритм для нечетный числе, скорее всего для любых целых чисел он тоже прост - http://habrahabr.ru/post/189618/.
0
|
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
|
|||||||||||
12.10.2015, 04:54 | 3 | ||||||||||
Выберешь себе нужный метод...толи с возвращающимися числами, толи возвращает true или false и удалишь ненужный метод и строки в методе main... Надеюсь, помог! Добавлено через 12 минут int to = (int) Math.sqrt(number); \\находим корень от введённого числа, т.к. число в квадрате не может быть больше нашего первоначального; И сразу переводим из double в int с округлением в меньшую сторону, если число получилось вещественное... for (int a = 1; a <= to; a++){ \\цикл до квадратного корня от числа (больше нам и не надо, т.к. быть не может) int b = (int) Math.sqrt(number - Math.pow(a, 2)); \\отнимаем от нашего числа а^2... Получается в первый заход в цикл это у нас 1^2, затем 2^2, затем 3^2 и т.д., и от оставшего числа извлекаем корень... Переводим в int, чтоб получившийся результат не был вещественным if (Math.pow(b, 2) + Math.pow(a, 2) == number && b != 0) return true; //если в прошлой строчке корень нашёлся целым, а не вещественным, значит мы нашли 2 числа. Это мы проверяем возводя b в квадрат и прибавляя ему квадрат a... } return false; \\ ну или если пройдя весь цикл числа не нашлись, возвращаем false } } Добавлено через 17 минут Да, кстати, в прошлом коде метод, который возвращает строку чисел, возвращает зеркальные числа... Пример: 20 4 и 2 2 и 4 переделал, чтоб повторы не вызывал, хотя не принципиально:
0
|
12.10.2015, 04:54 | |
12.10.2015, 04:54 | |
Помогаю со студенческими работами здесь
3
Заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел? Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел? Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |