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

 

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

Ключ
snaper1993Дата: Воскресенье, 16.12.2007, 02:28 | Сообщение # 1
Бывалый
Группа: Пользователи
Сообщений: 121
Репутация: 2
Замечания: 0%
Статус: Offline
В связи с тем, что фермеры Дієтенко и Вампіров много занимались вычислениями, они очень жаловали разные числовые головоломки. Особенно любили обмениваться шифрованными сообщениями по электронной почте. Ключ к шифру нужно было вычислить как можно быстрее, потому что сообщение сохранялось в почтовом ящике лишь два дня. Однажды фермер Дієтенко прислал фермеру Вампірову очередную шифровку и некоторое целое число N. Ключом к шифру было меньше всего додатне целое число, произведение цифр которого равняется N . Помогите фермеру Вампірову прочитать сообщение.
Входные данные: в текстовом файле Z1.DAT содержится число N(0<=N<=2147483647)
Исходные данные: в текстовый файл Z1.SOL записать искомое целое число или 0, если такого числа нет.
ПРИМЕР:
Z1.dat Z1.sol
0 10
ПОМОГИТЕ!!


Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
 
SeqularДата: Воскресенье, 16.12.2007, 17:14 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Code
Uses CRT;
var s: string;
     n, x: longint;
     i, j: Byte;
     t: String;
     f1, f2: Text;
begin
Assign(f1, 'Z1.dat'); ReSet(f1);
Readln(f1, n);
x := n;
while (n mod 9)=0 do begin n:=n div 9; s:=s+'9'; end;
while (n mod 8)=0 do begin n:=n div 8; s:=s+'8'; end;
while (n mod 7)=0 do begin n:=n div 7; s:=s+'7'; end;
while (n mod 6)=0 do begin n:=n div 6; s:=s+'6'; end;
while (n mod 5)=0 do begin n:=n div 5; s:=s+'5'; end;
while (n mod 4)=0 do begin n:=n div 4; s:=s+'4'; end;
while (n mod 3)=0 do begin n:=n div 3; s:=s+'3'; end;
while (n mod 2)=0 do begin n:=n div 2; s:=s+'2'; end;
For i := 1 to Length(s) do
     Begin
     For j := i to Length(s) do
         Begin
         If (s[i] > s[j]) then
            Begin
            t[1] := s[i];
            s[i] := s[j];
            s[j] := t[1];
            End;
         End;
     End;
Writeln(s);
ReadKey;
Assign(f2, 'Z1.SOL'); ReWrite(f2);
If (s <> '') then Writeln(f2, s)
              else Writeln(f2, '0');
Close(f1); Close(f2);
end.
Прикрепления: Z1.dat (0.0 Kb)


Поддерживаю также проект сообщество молодых сисадминов
 
SeqularДата: Воскресенье, 16.12.2007, 17:16 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Решает не для всех чисел.

Поддерживаю также проект сообщество молодых сисадминов
 
  • Страница 1 из 1
  • 1
Поиск:

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