0 / 0 / 0
Регистрация: 18.10.2009
Сообщений: 11
|
|
1 | |
2 решения на turboC22.11.2009, 19:26. Показов 2076. Ответов 15
Метки нет (Все метки)
1. Данно натуральное n. можно ли представить его в виде суммы трех квадратов натуральных чисел, если можно,то указать все представления n в виде суммы квадратов трех натуральных чисел...
2. Данны натуральные числа n и m. Получить все меньшие n натуральные числа, сумма кубов цифр которых равна м... Заранее всм спасибо...
0
|
22.11.2009, 19:26 | |
Ответы с готовыми решениями:
15
Windows 7 и TurboC Переведите в язык TurboC, пожалуйста Сложение двух чисел на TurboC++ Найти среднее арифметическое в TurboC |
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
22.11.2009, 19:51 | 2 |
есть решение очень похожей на вашу первую задачу (Дано натуральное n. Указать x,y,z таких натуральных чисел, что n=x^2 +y^2 +z^2 и x<=y<=z .) но оно на С++, если разберётесь выложу
0
|
0 / 0 / 0
Регистрация: 18.10.2009
Сообщений: 11
|
|
22.11.2009, 19:52 [ТС] | 3 |
сбросьте, посмотрю...
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
||||||
22.11.2009, 19:55 | 4 | |||||
для второй задачи приведите пример, в принципе понятно, но не мешало бы уточнить
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
22.11.2009, 21:57 | 5 |
1)
Написано же - натуральных чисел. Значит как минимум все циклы должны быть с условиями i>0 j>0 k>0. 2) Цикл по k очевидно не нужен. Если известно i, j, то k либо вычисляется, либо не вычисляется в один присест. 3) Чего-то я нигде не вижу условия x<=y<=z Значит будет печатать все варианты Вывод: над кодом еще работать и работать
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
22.11.2009, 22:29 | 6 |
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
23.11.2009, 03:29 | 7 |
в свете использования кода как примера, замечания не существенны , хотя 1 и 2, справедливы. на ошибочность третьего вам указали
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
23.11.2009, 09:25 | 8 |
В принципе я правильно сказал - условия нет, поэтому будет считать все варианты. Но! Функция вернет true как только найдет первый подходящий вариант. При этом первый подходящий вариант если он существует будет иметь вид: x<=y<=z. Это произойдет из-за особенностей выбранного способа перебора всех значений. Тогда исправлю третье замечение. Функция будет перебирать все пары x,y,z. Тогда как достаточно перебирать только пары где верно: x<=y<=z, что существенно сокращает перебор !!! Правильный вариант при этом если есть то никуда не денется - все равно будет найден.
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
23.11.2009, 09:33 | 9 |
Не согласен. Функция никогда не будет перебирать пары, которые не удовлетворяют условию x<=y<=z. И это заложено (еще раз повторюсь) в тех строках которые я указал.
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|||||||||||
24.11.2009, 21:25 | 10 | ||||||||||
2valeriikozlov: Еще раз - функция будет перебирать произвольные тройки x,y,z.
Доказывается это тривиально. Беру исходный текст, включаю печать x,y,z. Чтобы долго не ждать - запускаю программу при n=15. Это значение n не может быть представлено в виде суммы трех квадратов. Вот программа
Вот вывод Код
x: 1 y: 2 z: 3 x: 0 y: 2 z: 3 x: 2 y: 1 z: 3 x: 1 y: 1 z: 3 x: 0 y: 1 z: 3 x: 2 y: 0 z: 3 x: 1 y: 0 z: 3 x: 0 y: 0 z: 3 x: 1 y: 3 z: 2 x: 0 y: 3 z: 2 x: 2 y: 2 z: 2 x: 1 y: 2 z: 2 x: 0 y: 2 z: 2 x: 3 y: 1 z: 2 x: 2 y: 1 z: 2 x: 1 y: 1 z: 2 x: 0 y: 1 z: 2 x: 3 y: 0 z: 2 x: 2 y: 0 z: 2 x: 1 y: 0 z: 2 x: 0 y: 0 z: 2 x: 2 y: 3 z: 1 x: 1 y: 3 z: 1 x: 0 y: 3 z: 1 x: 3 y: 2 z: 1 x: 2 y: 2 z: 1 x: 1 y: 2 z: 1 x: 0 y: 2 z: 1 x: 3 y: 1 z: 1 x: 2 y: 1 z: 1 x: 1 y: 1 z: 1 x: 0 y: 1 z: 1 x: 3 y: 0 z: 1 x: 2 y: 0 z: 1 x: 1 y: 0 z: 1 x: 0 y: 0 z: 1 x: 2 y: 3 z: 0 x: 1 y: 3 z: 0 x: 0 y: 3 z: 0 x: 3 y: 2 z: 0 x: 2 y: 2 z: 0 x: 1 y: 2 z: 0 x: 0 y: 2 z: 0 x: 3 y: 1 z: 0 x: 2 y: 1 z: 0 x: 1 y: 1 z: 0 x: 0 y: 1 z: 0 x: 3 y: 0 z: 0 x: 2 y: 0 z: 0 x: 1 y: 0 z: 0 x: 0 y: 0 z: 0 ERR: 15 Press any key to continue . . . Надеюсь теперь видно что x,y,z достаточно произвольные и условие x<=y<=z не выполняется ? Добавлено через 5 минут Для примера - добавлю проверку условия x<=y<=z в код программы. Вот улучшенная программа
Вот новый вывод: Код
x: 1 y: 2 z: 3 x: 0 y: 2 z: 3 ERR: 15 Press any key to continue . . . 1) условие x<=y<=z действительно соблюдается 2) перебор СУЩЕСТВЕННО сократился
2
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
25.11.2009, 05:51 | 11 |
odip, потестировал код, и пришел к выводу, что действительно: условие x<=y<=z соблюдается только в момент вызова функции findSummSquare(), затем это условие нарушается. Короче Вы были правы. Еще раз убедился - истина рождается в споре.
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
25.11.2009, 05:55 | 12 |
как никрути задача была решена верно, а за оптимизацию "спасибо"
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
25.11.2009, 08:36 | 13 |
И это не самый оптимальный вариант - можно сделать еще быстрее
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
25.11.2009, 09:14 | 14 |
Вы имеете ввиду задачу?:
Если да, то можно улучшить то что Вы писали:
и Больше вроде ничего, что можно оптимизировать, в таком варианте не вижу. Может быть лучше получится если начинать с присваивания x, y, z значений 1, а потом увеличивать. Больше вариантов пока не вижу. Или еще есть варианты?
0
|
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
|
|
25.11.2009, 09:15 | 15 |
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
25.11.2009, 10:31 | 16 |
0
|
25.11.2009, 10:31 | |
25.11.2009, 10:31 | |
Помогаю со студенческими работами здесь
16
Тела вращения Builder (или TurboC++) Как правильно настроить DOSBox для работы в TurboC? Ошибка компиляции многофайлового проекта (cpp и asm) в TurboC Вывести все номера элементов массива, оканчивающиеся цифрой 0 (TurboC) [TurboC раздельная компиляция] Написать программу, которая заменяет все элементы главной диагонали числами от 1 до n Построить схемы решения, построить графики решения, сравнить решения с помощью функции ode45 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |