Пятница, 24.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

ТОлько Циклы!
Van_der_VlaadДата: Суббота, 15.11.2008, 21:33 | Сообщение # 1
Старый знакомый
Группа: Пользователи
Сообщений: 35
Репутация: 1
Замечания: 0%
Статус: Offline
Дано натуральное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.

Сложность в том что это нужно сделать только при помощи циклов, т.е. без строк, массивов и т.д. Можно было бы с ними - и не спрашивал.

Пример:
2587
8752

 
AlexanderДата: Суббота, 15.11.2008, 22:48 | Сообщение # 2
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (Van_der_Vlaad)
Сложность в том что это нужно сделать только при помощи циклов, т.е. без строк, массивов и т.д.

У автора задачи определённо есть мазохистские наклонности.
Фактически это просто задача на сортировку. Например вот простейшая сортировка "пузырьком":
Code
   Read(x);
     a:=x;
     i:=0;
     while a<>0 do
        begin
           a:=a div 10;
           Inc(i);
        end;
     for j:=i downto 1 do
        begin
           for i:=1 to i-1 do
              begin
                 a:=x mod p(i) div p(i-1);
                 b:=x mod p(i+1) div p(i);
                 if a>b then
                    x:=x div p(i+1)*p(i+1)+x mod p(i-1)+a*p(i)+b*p(i-1);
              end;
        end;
     Writeln(x:3);

p(x:longint):longint; - это функция, которая возвращает 10^x.


Скажем дружно- нафиг нужно!

Сообщение отредактировал Alexander - Суббота, 15.11.2008, 22:49
 
Van_der_VlaadДата: Воскресенье, 16.11.2008, 00:08 | Сообщение # 3
Старый знакомый
Группа: Пользователи
Сообщений: 35
Репутация: 1
Замечания: 0%
Статус: Offline
Quote
У автора задачи определённо есть мазохистские наклонности. У автора задачи определённо есть мазохистские наклонности.

В точку! Это наш учитель. От него можно и не такого дождаться.

Только вот в чем проблема...и функции здесь тоже нельзя, а как я понял они здесь используются(

 
AlexanderДата: Воскресенье, 16.11.2008, 00:20 | Сообщение # 4
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (Van_der_Vlaad)
Только вот в чем проблема...и функции здесь тоже нельзя, а как я понял они здесь используются(

функцию "p" можно выразить стандартными функциями и не вводить свою.
Если a^b сначала логарифмировать, а затем экспонировать, то мы получим эквивалентную функцию exp(b*ln(a)).
А вообще в задании не сказано, что функции нельзя использовать, тем более, что эта функция только один цикл должна содержать.


Скажем дружно- нафиг нужно!
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;