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

 

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

Шифр
LordДата: Среда, 12.12.2007, 00:02 | Сообщение # 1
Знакомый
Группа: Пользователи
Сообщений: 13
Репутация: 0
Замечания: 0%
Статус: Offline
Ключом до шифра является положительное целое число, которое можно было получить из числа N, вычеркнув одну цифру так, чтобы число, которое останется было наибольшим. Входные дані:у текстовом файле Z2.dat записана строка текста длиной не больше, чем 100000 и не меньше чем 2, символами которого являются цифры числа N. Выходные даны: в текстовый файл Z2.sol записать строку текста с полученным числом.
Пример:
1)Z1.dat 321
Z1.sol 32
2)Z1.dat 123
Z1.sol 23


Учусь Паскаля
 
TODDДата: Суббота, 15.12.2007, 03:08 | Сообщение # 2
Новичок
Группа: Пользователи
Сообщений: 6
Репутация: 0
Замечания: 0%
Статус: Offline
Исправте ошибки,пото му что она не проходит все тестыю.Пажалуйста!!!!!!
var n:longint;s:string;
f1,f2:text;
begin
assign(f1,'z1.dat');reset(f1);
assign(f2,'z1.sol');rewrite(f2);
readln(f1,n);
while ((n mod 2)=0) do begin s:='2';end;
while ((n mod 3)=0) do begin s:='3';end;
while ((n mod 4)=0) do begin s:='4';end;
while ((n mod 5)=0) do begin s:='5';end;
while ((n mod 6)=0) do begin s:='6';end;
while ((n mod 7)=0) do begin s:='7';end;
while ((n mod 8)=0) do begin s:='8';end;
while ((n mod 9)=0) do begin s:='9';end;
writeln(f2,s);
close(f1);
close(f2);
end.
 
SeqularДата: Суббота, 15.12.2007, 09:45 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Ну вообще, хорошо было бы делать в другом порядке. Т.е. идти с 9-тки... Потому что если число делится на 9, то оно уж точно делится на 3!! И до 9-тки просто не дойдет, сработает еще на "3"...

И вообще, кто этот алгоритм придумал? Я не понимаю что-то смысла его работы...
Возьмем число 1818... Делится на 2. Ну написали мы 2... А ведь двойки в этом самом числе нет!! Любую цифру вычеркнем - двойка не появится.. Алгоритм не понимаю...


Поддерживаю также проект сообщество молодых сисадминов
 
SeqularДата: Суббота, 15.12.2007, 09:56 | Сообщение # 4
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Лично я себе код представляю примерно таким:
Code
Program SHIFR;
Uses CRT;
Var n, max, j: Longint;
     s, s_: String;
     i, code: Integer;
     f1, f2: Text;
Begin
ClrScr;
Assign(f1, 'z1.dat'); Reset(f1);
Assign(f2, 'z1.sol'); ReWrite(f2);
Readln(f1, s);
max := 0;
For i := 1 to Length(s) do
     Begin
     s_ := s;
     Delete(s_,i,1);
     Val(s_,j,code);
     If (max = 0) then max := j;
     If (j > max) then max := j;
     End;
Writeln(f2,max);
Close(f1); Close(f2);
ReadKey;
End.

Т.е. считываем строку. А потом удаляем по одному символу и сравниваем с максимумом. Таким образом находим максимальный вариант и его пишем в файл.


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

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