Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 1 / 1
Регистрация: 26.08.2021
Сообщений: 31

Тройки Пифагора - рекурсивный алгоритм

02.05.2022, 14:03. Показов 382. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Main {
    public static void main(String[] args) {
        pifNumber(5);
    }
 
    public static void pifNumber(int n){
        getPifTriple(n, n, n);
    }
 
    public static void getPifTriple(int x, int y, int z) {
        // base case
        if(x<=1 || y<=1 || z<=1){
            return;
        }
        if (((Math.pow(x, 2) + Math.pow(y, 2)) == Math.pow(z, 2)) && x < y && y < z && nod(x, y, z)) {
            System.out.println("x =" + x + " ,y=" + y + " z=" + z);
            return;
        }
 
        // recursion case
        getPifTriple(--x, y, z);
        getPifTriple(x, --y, z);
        getPifTriple(x, y, --z);
    }
 
    public static boolean nod(int x, int y, int z) {
        for (int i = 2; i < z; i++) {
            if (x % i == 0 && y % i == 0 && z % i == 0) {
                return false;
            }
        }
        return true;
    }
Всем добрый день, столкнулся с трудностью написания рекурсивного алгоритма для поиска троек Пифагора. Думал что мой алгоритм будет работать, как данный метод цикла - простым перебором значений:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void getPifagorNumbers(int i, int i1, int i2) {
        int number = 1;
        for (int x = 1; x <= 100; x++) {
            for (int y = 1; y <= 100; y++) {
                for (int z = 1; z <= 100; z++) {
 
                    if (((Math.pow(x, 2) + Math.pow(y, 2)) == Math.pow(z, 2)) && x < y && y < z && nod(x, y, z)) {
                        System.out.println("" + number + "    x =" + x + " ,y=" + y + " z=" + z);
                        number++;
                    }
                }
            }
 
        }
    }
а получилось, что только выводит первые тройки, подскажите пожалуйста может у вас есть решение или где моя ошибка?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2022, 14:03
Ответы с готовыми решениями:

Усовершенствовать рекурсивный алгоритм
Здравствуйте, помогите пожалуйста добавить &quot;кеш&quot; в алгоритм. При больших значения матрицы он не работает. public class Hedgehog2 { ...

Рекурсивный алгоритм вычисления корня из x+1
нужен рекурсивный алгоритм корень из (x +1) , то есть мы вводим число до какого значения х нужно идти и программа решает при помощи...

Реализовать рекурсивный алгоритм вычисления
Реализовать рекурсивный алгоритм вычисления на Java. Аргументы вводятся с текстовых полей формы, результаты выводятся в label. Вычисления...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2022, 14:03
Помогаю со студенческими работами здесь

Определение тройки Пифагора.
Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае. ...

Напечатать все тройки чисел Пифагора, меньшие N (Pascal -> VBA)
Добрый день. Помоги перевести программу. Var n,a,b,c,d:integer; begin readln(n); for a:=1 to n-1 do for b:=a to n-1 do begin...

Найти все тройки Пифагора, в которых каждое число меньше заданного Н
Натуральные числа a, b, c называются тройкой Пифагора, если выполняется условие a2+b2=c2. Требуется найти все тройки Пифагора, в которых...

Найти все тройки Пифагора, в которых катеты и гипотенуза не больше 500
Здравствуйте. Задача: найдите все тройки Пифагора, в которых катеты и гипотенуза не больше 500. Используйте трижды вложенные циклы...

Рекурсивный алгоритм
Доброго времени суток #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; float rec(int x,int n) { if (n != 0) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru