Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Pavel Kuznetsov
Зарегистрирован: 15.03.2008 Сообщения: 14
|
Добавлено: Сб Мар 15, 2008 11:17 pm Заголовок сообщения: ZPCV3 Задача 10 |
|
|
Не могли бы вы (админы) проверить корректность формулировки и тестов к 10 заданию... Спасибо! |
|
Вернуться к началу |
|
|
astapoff
Зарегистрирован: 13.02.2007 Сообщения: 70 Откуда: Могилев, Беларусь
|
Добавлено: Сб Мар 15, 2008 11:31 pm Заголовок сообщения: Re: ZPCV3 Задача 10 |
|
|
Pavel Kuznetsov писал(а): | Не могли бы вы (админы) проверить корректность формулировки и тестов к 10 заданию... Спасибо! |
А лучше пускай приведут исходник программы на Паскале - это вообще издевательство над другими... |
|
Вернуться к началу |
|
|
Turbo Site Admin
Зарегистрирован: 19.02.2006 Сообщения: 248
|
Добавлено: Сб Мар 15, 2008 11:43 pm Заголовок сообщения: Re: ZPCV3 Задача 10 |
|
|
Pavel Kuznetsov писал(а): | Не могли бы вы (админы) проверить корректность формулировки и тестов к 10 заданию... Спасибо! |
Ааааа, да вы правы, для последней задачи я не загрузил правильный ответ ..... |
|
Вернуться к началу |
|
|
Pavel Kuznetsov
Зарегистрирован: 15.03.2008 Сообщения: 14
|
Добавлено: Сб Мар 15, 2008 11:47 pm Заголовок сообщения: Re: ZPCV3 Задача 10 |
|
|
Turbo писал(а): | Pavel Kuznetsov писал(а): | Не могли бы вы (админы) проверить корректность формулировки и тестов к 10 заданию... Спасибо! |
А в чем проблема? |
Ну просто уже все пароли нашел, при помощи вашей функции проверил, а не засчитывается... Возможно мой косяк, но и вам подвериться не лишне будет |
|
Вернуться к началу |
|
|
Turbo Site Admin
Зарегистрирован: 19.02.2006 Сообщения: 248
|
Добавлено: Вс Мар 16, 2008 12:10 am Заголовок сообщения: Re: ZPCV3 Задача 10 |
|
|
Pavel Kuznetsov писал(а): | Turbo писал(а): | Pavel Kuznetsov писал(а): | Не могли бы вы (админы) проверить корректность формулировки и тестов к 10 заданию... Спасибо! |
А в чем проблема? |
Ну просто уже все пароли нашел, при помощи вашей функции проверил, а не засчитывается... Возможно мой косяк, но и вам подвериться не лишне будет |
Правильный ответ добавил. Все старые решения были перепроверены. |
|
Вернуться к началу |
|
|
astapoff
Зарегистрирован: 13.02.2007 Сообщения: 70 Откуда: Могилев, Беларусь
|
Добавлено: Чт Мар 20, 2008 8:22 am Заголовок сообщения: |
|
|
Будет ли для 10ой задачи исходник на паскале? Очень он необходим. Ведь как я понимаю, данный алгоритм несложно перевести на паскаль, человеку, знающему и паскаль, и Си.
Опять дискриминация по языку реализации! |
|
Вернуться к началу |
|
|
Turbo Site Admin
Зарегистрирован: 19.02.2006 Сообщения: 248
|
Добавлено: Чт Мар 20, 2008 9:19 am Заголовок сообщения: |
|
|
astapoff писал(а): | Будет ли для 10ой задачи исходник на паскале? Очень он необходим. Ведь как я понимаю, данный алгоритм несложно перевести на паскаль, человеку, знающему и паскаль, и Си.
Опять дискриминация по языку реализации! |
Для того что бы понять чего там происходит не обязательно знать Си. Я не знаю Паскаль, так что если есть энтузиасты на форуме пусть напишут. |
|
Вернуться к началу |
|
|
Dmitry
Зарегистрирован: 16.03.2008 Сообщения: 9
|
Добавлено: Чт Мар 20, 2008 1:22 pm Заголовок сообщения: |
|
|
astapoff писал(а): | Опять дискриминация по языку реализации! |
Хватит жаловаться на дискриминацию по языку, выучи с++ и радуйся жизни |
|
Вернуться к началу |
|
|
astapoff
Зарегистрирован: 13.02.2007 Сообщения: 70 Откуда: Могилев, Беларусь
|
Добавлено: Пт Мар 21, 2008 6:06 pm Заголовок сообщения: |
|
|
Просто объясните мне что значит
hash += name[x]
???
Что значит знак += ???
И еще: name[x] - это символ, а hash - число. Как они могут складываться??? (если конечно знак += вообще имеет какое-нить отношение к сложению)... |
|
Вернуться к началу |
|
|
Pavel Kuznetsov
Зарегистрирован: 15.03.2008 Сообщения: 14
|
Добавлено: Пт Мар 21, 2008 6:16 pm Заголовок сообщения: |
|
|
X += Y значит прибавить Y к X. В делфи то же самое inc(X,Y);
Символ это тоже число, потому как в компьютере вообще только одни числа... В Дельфи char - это тоже число, просто компилятор не разрешает с ним обращаться как с числом. |
|
Вернуться к началу |
|
|
astapoff
Зарегистрирован: 13.02.2007 Сообщения: 70 Откуда: Могилев, Беларусь
|
Добавлено: Пт Мар 21, 2008 6:49 pm Заголовок сообщения: |
|
|
Pavel Kuznetsov писал(а): | X += Y значит прибавить Y к X. В делфи то же самое inc(X,Y);
Символ это тоже число, потому как в компьютере вообще только одни числа... В Дельфи char - это тоже число, просто компилятор не разрешает с ним обращаться как с числом. |
А что будет если к к нулю к примеру прибавим английский символ A большое, или B большое? А F маленькое? Или это просто номера символов в таблице ASCII ??? |
|
Вернуться к началу |
|
|
DAle
Зарегистрирован: 21.02.2006 Сообщения: 24
|
Добавлено: Пт Мар 21, 2008 9:35 pm Заголовок сообщения: |
|
|
astapoff писал(а): | А что будет если к к нулю к примеру прибавим английский символ A большое, или B большое? А F маленькое? Или это просто номера символов в таблице ASCII ??? |
hash += name[x] в данном случае будет эквивалентно hash := hash + byte(name[x]) в паскале. |
|
Вернуться к началу |
|
|
Pavel Kuznetsov
Зарегистрирован: 15.03.2008 Сообщения: 14
|
Добавлено: Пт Мар 21, 2008 9:44 pm Заголовок сообщения: |
|
|
Компьютер понятия не имеет что такое "английское А большое" он работает с байтами. Почитай что-нибудь по ассемблеру, сразу на многое глаза откроются.
В Дельфи можно тоже прибавлять символы к числам, только это делается так (обрати внимание, что ord по сути ничего не делает, можно просто напрямую обратиться к тому участку памяти где хранится символ):
Код: |
var
c : char;
i : integer;
begin
i := 123;
c := 'A';
writeln(i + ord(c) ); // Вот так можно складывать
writeln(i + pbyte(@c)^ ); // А это то же самое
end.
|
|
|
Вернуться к началу |
|
|
astapoff
Зарегистрирован: 13.02.2007 Сообщения: 70 Откуда: Могилев, Беларусь
|
Добавлено: Пт Мар 21, 2008 9:58 pm Заголовок сообщения: |
|
|
Всем спасибо. |
|
Вернуться к началу |
|
|
romul
Зарегистрирован: 20.03.2008 Сообщения: 29
|
Добавлено: Пт Мар 21, 2008 10:10 pm Заголовок сообщения: |
|
|
astapoff, пляши
Код: | function code (arg: longword; p: integer; n: longword): longword;
var r: longword;
begin
r:= 1;
while (p>=1) do
begin
r:=(r*arg) mod n;
dec(p);
end;
result:=r;
end;
var
e: longword = 35467;
n: longword = 54031;
pwd, hash, x: longword;
name: ShortString;
begin
Write('Name: ');
Read(name);
Write('Password: ');
Read(pwd);
hash:= 0;
for x := 1 to Length(name)-1 do
hash:=hash+ord(name[x]);
if (code(pwd, e, n) = hash) then
WriteLn('Correctly!')
else
WriteLn('Not correctly');
end. |
|
|
Вернуться к началу |
|
|
|