1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 50

Какое наибольшее число можно получить, если поменять местами две цифры заданого целого числа n?

28.10.2015, 21:37. Показов 2868. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Какое наибольшее число можно получить, если поменять местами две цифры заданого целого числа n?
Входные данные

Целое число n, по модулю не превышает 1015.
Входные данные

Входные данные #1

127

Выходные данные #1

721
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2015, 21:37
Ответы с готовыми решениями:

Дано четырехзначное натуральное число А . Какое число получится если в нем поменять местами первую и третью цифры
Дано четырехзначное натуральное число А . Какое число получится если в нем поменять местами первую и третью цифры.

Какое наибольшее число можно получить из цифр натурального числа, введенного с клавиатуры
какое наибольшее число, можно получить из цифр натурального числа, введенного с клавиатуры

Получить новое число y из исходного, поменяв местами две цифры исходного числа
Дано вещественное число x. Получить новое число y из исходного, поменяв местами две цифры исходного числа, стоящие слева и справа от...

16
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 50
30.10.2015, 14:19  [ТС]
кто-нибудь
0
 Аватар для APALoff
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
30.10.2015, 15:41
Задание не такое простое, как кажется на первый взгляд.
Может есть еще какие нибудь условия или данные по задаче?

Добавлено через 47 секунд
Например, если задано 721 - то надо ли переставлять цифры, если число и так максимально?
0
Модератор
10159 / 5495 / 3371
Регистрация: 17.08.2012
Сообщений: 16,805
30.10.2015, 15:51
И ещё. Может, всё-таки 1015, а не 1015?
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 50
30.10.2015, 16:09  [ТС]
Да,вы правы,ошибся,там 10 в пятнадцатом степени
0
Модератор
10159 / 5495 / 3371
Регистрация: 17.08.2012
Сообщений: 16,805
30.10.2015, 16:12
Цитата Сообщение от APALoff Посмотреть сообщение
надо ли переставлять цифры, если число и так максимально?
???
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 50
30.10.2015, 16:12  [ТС]
В этом то и вся загвоздка,что каких-либо других условий не дано,только эти
На счет 721 не знаю,но по-моему все равно нужно поменять цифры,чтобы получилось другое число.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7805 / 4627 / 2832
Регистрация: 22.11.2013
Сообщений: 13,146
Записей в блоге: 1
30.10.2015, 17:21
В первом приближении:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  s: String;
  i, j: Integer;
  t: Char;
begin
  ReadLn(s);
  if s[1]='-' then begin
    j:=3; for i:=4 to Length(s) do if s[j]>s[i] then j:=i;
    t:=s[j]; s[j]:=s[2]; s[2]:=t;
  end else begin
    j:=2; for i:=3 to Length(s) do if s[j]<s[i] then j:=i;
    t:=s[j]; s[j]:=s[1]; s[1]:=t;
  end;
  WriteLn(s);
end.
Очередная проблема: 771 -- можно ли менять 7 и 7 ?
0
 Аватар для APALoff
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
30.10.2015, 17:35
Лучший ответ Сообщение было отмечено Aleks54321 как решение

Решение

А вот моё "приближение":
Pascal
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
34
35
36
37
Var
  n : int64;
  st : String;
 
Function SwapCh(s : String; a,b : Byte) : String;
Begin
  s[a]:=Chr(Ord(s[a]) xor Ord(s[b]));
  s[b]:=Chr(Ord(s[a]) xor Ord(s[b]));
  s[a]:=Chr(Ord(s[a]) xor Ord(s[b]));
  SwapCh:=s;
end;
 
Function SW(s : String) : String;
Var
  Positiv : Boolean;
  i,j : Byte;
  smax  : String;
Begin
  Positiv:=s[1]<>'-';
  If s[1]='-' then Delete(s,1,1);
  smax:=SwapCh(s,1,2);
  If Length(s)>1 then
  Begin
    For i:=1 to Length(s)-1 do
     For j:=i+1 to Length(s) do
       If (Positiv and (SwapCh(s,i,j)>smax)) or
          (not Positiv and (SwapCh(s,i,j)<smax)) then smax:=SwapCh(s,i,j) 
  end else smax:=s;
  If not Positiv then smax:='-'+smax;
  SW:=smax;
end;
 
Begin
  Readln(n);
  Str(n,st);
  Writeln(SW(st));
end.
Добавлено через 6 минут
bormant, у Вас не верный результат для -172
1
Модератор
10159 / 5495 / 3371
Регистрация: 17.08.2012
Сообщений: 16,805
30.10.2015, 17:40
bormant, ещё там 1015.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7805 / 4627 / 2832
Регистрация: 22.11.2013
Сообщений: 13,146
Записей в блоге: 1
30.10.2015, 17:56
Цитата Сообщение от APALoff Посмотреть сообщение
bormant, у Вас не верный результат для -172
Исходим из того, что перестановка обязательна, для -172 даст -271.
Какой результат по-вашему должен был бы быть?
Если перестановка необязательна, в 8 и 11 используем for i:=j to (вместо for i:=j+1 to).

Цитата Сообщение от Cyborg Drone Посмотреть сообщение
bormant, ещё там 1015
Да хоть -10253..10254. Или я не понял замечания?
0
 Аватар для APALoff
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
30.10.2015, 17:57
Цитата Сообщение от bormant Посмотреть сообщение
Какой результат по-вашему должен был бы быть?
-127
0
Платежеспособный зверь
 Аватар для кот Бегемот
8959 / 4384 / 1652
Регистрация: 28.10.2009
Сообщений: 11,629
30.10.2015, 18:16
bormant, не катит прога. При s=4312 прога выдаёт 3412, а надо 4321
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7805 / 4627 / 2832
Регистрация: 22.11.2013
Сообщений: 13,146
Записей в блоге: 1
30.10.2015, 18:18
кот Бегемот,
угу, увидел, понял.

Цитата Сообщение от APALoff Посмотреть сообщение
-127
ок, увидел, реализованный алгоритм "поставить на первое место максимальную/минимальную цифру" решением задачи не является.
0
Модератор
10159 / 5495 / 3371
Регистрация: 17.08.2012
Сообщений: 16,805
30.10.2015, 18:30
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
там 1015
...А у тебя строка. Не увидел сразу. Извиняюсь.
0
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 50
30.10.2015, 19:50  [ТС]
APALoff,спасибо,код прошел 75% тестов!
0
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 3
01.01.2016, 19:28
Pascal
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
34
35
36
var
s:ansistring;
i,n,k,j,max:longint;
w:char;
begin
readln (s);
if s[1]='-' then begin
delete (s,1,1);
j:=1;
while k=0 do begin
k:=0;
max:=ord(s[j])-48;
for i:=1 to length(s) do 
if (ord(s[i])-48 < max)and(i>j)and( ((j=1)and(ord(s[i])-48>0))or(j>1) ) then begin inc (k); max:=ord(s[i])-48; end;
if k=0 then inc (j);
if j>length(s) then begin writeln ('-',s); exit; end;
end;
for i:=length(s) downto j+1 do 
if ord(s[i])-48 = max then begin
w:=s[i]; s[i]:=s[j]; s[j]:=w; end;
writeln ('-',s);
exit; end;
j:=1;
while k=0 do begin
k:=0;
max:=ord(s[j])-48;
for i:=1 to length(s) do 
if (ord(s[i])-48 > max)and(i>j) then begin inc (k); max:=ord(s[i])-48; end;
if k=0 then inc (j);
if j>length(s) then begin writeln (s); exit; end;
end;
for i:=length(s) downto j+1 do 
if ord(s[i])-48 = max then begin
w:=s[i]; s[i]:=s[j]; s[j]:=w; end;
writeln (s);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.01.2016, 19:28
Помогаю со студенческими работами здесь

Определить число, которое получим, если выпишем в обратном направлении цифры заданого трёхзначного числа
Определить число, которое получим, если выпишем в обратном направлении цифры заданого трёхзначного числа.

Какое наименьшее число Z можно получить вставкой цифры X в четырёхзначное число Y
Какое наименьшее число Z можно получить вставкой цифры X в четырёхзначное число Y. Ведущие нули не допустимы. Формат ввода: X Y ...

Поменять местами первые две цифры числа из массива чисел
Задание таково, что нужно вывести интервал чисел и поменять местами 1 и 2 цифру у каждого числа местами. Написал такой код. Первое число он...

Дано целое двухзначное число a. Получить наибольшее число, которое можно получить из цифр числа a
Дано целое двухзначное число a. Получить наибольшее число, которое можно получить из цифр числа a. Входные данные: Во входном потоке...

Какое число получится, если из заданного числа удалить все цифры от 0 до 5?
4. Дано натуральное число А типа longint, заданное случайно. Какое число получится, если из него удалить все цифры от 0 до 5?


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
MVC фреймворк в PHP
Jason-Webb 19.04.2025
Архитектурный паттерн Model-View-Controller (MVC) – это не просто модный термин из мира веб-разработки. Для PHP-программистов это фундаментальный подход к организации кода, который радикально меняет. . .
Dictionary Comprehensions в Python
py-thonny 19.04.2025
Python славится своей выразительностью и лаконичностью, что позволяет писать чистый и понятный код. Среди множества синтаксических конструкций языка особое место занимают словарные включения. . .
Шаблоны и протоколы для создания устойчивых микросервисов
ArchitectMsa 19.04.2025
Микросервисы — архитектурный подход, разбивающий сложные приложения на небольшие, независимые компоненты. Вместо монолитного гиганта, система превращается в созвездие небольших взаимодействующих. . .
Изменяемые и неизменяемые типы в Python
py-thonny 19.04.2025
Python славится своей гибкостью и интуитивной понятностью, а одна из главных его особенностей — это система типов данных. В этом языке все, включая числа, строки, функции и даже классы, является. . .
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru