Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2007, 12:58   #11
vit_galina
Пользователь
 
Регистрация: 15.10.2007
Сообщений: 19
По умолчанию

Цитата:
Сообщение от utyyf Посмотреть сообщение
Помогите, злой препод совсем замучал Паскалем:

Требуется в заданном трехзначном числе переставить цифры так, чтобы получилось максимально возможное. Никаких "если - то" использовать нельзя (линейный алгоритм должен быть)!
Всего будет 6 значений:
n1 := z div 100;
n2 := (z mod 100) div 10;
n3 := z mod 10;
z1:=z;
z2:=n1*100+n3*10+n2;
z3:=n2*100+n1*10+n3;
и т.д.
Может после вычисления цифр числа, вывести их все на экран и определять визуально?
если не вычислять эти числа z, то вывод будет
Writeln(' hisla : ');
Writeln(n1:1,n2:1,n3:1);
Writeln(n1:1,n3:1,n2:1);
Writeln(n2:1,n1:1,n3:1);
Writeln(n2:1,n3:1,n1:1);
Writeln(n3:1,n1:1,n2:1);
Writeln(n3:1,n2:1,n1:1);

Интересно как можно выбрать большее не сравнивая значения?

Последний раз редактировалось vit_galina; 18.10.2007 в 13:02.
vit_galina вне форума Ответить с цитированием
Старый 18.10.2007, 13:06   #12
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
result:=n1*100+n2*10+n3
это правильно, чтоб обратно цифры в трехзначное число собрать, и все таки мне кажется не нужно разлаживать, тут либо формула либо еще какая-то хитрость математическая

P.S. вот только причем тут программирование
он случайно не бывший учитель математики?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 18.10.2007 в 13:10.
mutabor вне форума Ответить с цитированием
Старый 18.10.2007, 13:13   #13
utyyf
Пользователь
 
Регистрация: 18.10.2007
Сообщений: 21
По умолчанию

Цитата:
Сообщение от vit_galina Посмотреть сообщение
Может после вычисления цифр числа, вывести их все на экран и определять визуально?
если не вычислять эти числа z, то вывод будет
Writeln(' hisla : ');
Writeln(n1:1,n2:1,n3:1);
Writeln(n1:1,n3:1,n2:1);
Writeln(n2:1,n1:1,n3:1);
Writeln(n2:1,n3:1,n1:1);
Writeln(n3:1,n1:1,n2:1);
Writeln(n3:1,n2:1,n1:1);

Интересно как можно выбрать большее не сравнивая значения?
Нет, должен появиться один ответ - МАКСИМАЛЬНО возможное
P.S. Кстати, этот препод говорил, что лет пять назад он енту задачу на контрольную давал (для тех, кому хочется иметь "5"). Следил чтоб не списывали - решило больше половины человек и даже решения были разные.
utyyf вне форума Ответить с цитированием
Старый 18.10.2007, 13:18   #14
utyyf
Пользователь
 
Регистрация: 18.10.2007
Сообщений: 21
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
это правильно, чтоб обратно цифры в трехзначное число собрать, и все таки мне кажется не нужно разлаживать, тут либо формула либо еще какая-то хитрость математическая

P.S. вот только причем тут программирование
он случайно не бывший учитель математики?
Когда-то вел математику (в классе коррекции) Я в том классе не учился - может тогда решил бы.
utyyf вне форума Ответить с цитированием
Старый 18.10.2007, 13:19   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Интересно как можно выбрать большее не сравнивая значения?
Если есть два числа то максимум из них можно получить математически :
n1- первое чило
n2- второе число

a:=(n1+n2);
z:=(a-abs(n1-n2)) div 2;
Result_Max_From_n1_n2:=a-z;

Намек ясен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2007, 13:28   #16
utyyf
Пользователь
 
Регистрация: 18.10.2007
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Если есть два числа то максимум из них можно получить математически :
n1- первое чило
n2- второе число

a:=(n1+n2);
z:=(a-abs(n1-n2)) div 2;
Result_Max_From_n1_n2:=a-z;

Намек ясен?
Спасибо! Дальше все ясно и понятно!!!
utyyf вне форума Ответить с цитированием
Старый 18.10.2007, 13:33   #17
utyyf
Пользователь
 
Регистрация: 18.10.2007
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Если есть два числа то максимум из них можно получить математически :
n1- первое чило
n2- второе число

a:=(n1+n2);
z:=(a-abs(n1-n2)) div 2;
Result_Max_From_n1_n2:=a-z;

Намек ясен?
А так, наверно, быстрее:
Result_Max_From_n1_n2:=(n1+n2+abs(n 1-n2)) div 2; ???
utyyf вне форума Ответить с цитированием
Старый 18.10.2007, 13:35   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

нуну. Как напишеш покажи, мне тоже интересно, чем там у вас в универе
кормят
Цитата:
А так, наверно, быстрее:
)) Ну вижу что понял. Действуй потом отчитайся, еси не секрет
Цитата:
Result_Max_From_n1_n2:=(n1+n2+abs(n 1-n2)) div 2; ???
Нет! Еще раз посмотри на то что я написал!
I'm learning to live...

Последний раз редактировалось Stilet; 18.10.2007 в 13:38.
Stilet вне форума Ответить с цитированием
Старый 18.10.2007, 13:40   #19
utyyf
Пользователь
 
Регистрация: 18.10.2007
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
нуну. Как напишеш покажи, мне тоже интересно, чем там у вас в универе
кормят
Какой тут универ? - 9-й класс!!!
Он на нас наехал, что домашку не делаем - навалил задач и сказал, что на контрольной по линейным даст любую из них наугад. У меня тут много таких.
utyyf вне форума Ответить с цитированием
Старый 18.10.2007, 13:44   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Круто!

P.S. Еще раз внимательно прочти мой пост с решением, ибо ты там знак не тот поставил в 17-м посте.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не простая задача !!! MaxZoa Microsoft Office Excel 2 06.03.2008 18:07
простая задача по строковым переменным STEEL-F Помощь студентам 6 21.01.2008 22:32
Простая и в то же время сложная задача fiveelement Microsoft Office Excel 1 28.10.2007 21:03
Простая задача еще utyyf Помощь студентам 28 23.10.2007 00:07