![]() |
Привіт Гість ( Вхід | Реєстрація )
![]() |
A1ex01 |
![]()
Пост
#1
|
![]() round catcher) ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Група: Trusted Members Повідомлень: 1 365 З нами з: 27-August 08 З: Kyiv Користувач №: 809 Стать: Чол Парк машин: хз*X2/2/500/хз*5870 ц7x64 ![]() |
сабж, а заодно и асм х86
пока меня интересуют консольные приложения(работа с бинарными файлами), остановился на gcc(именно си, а не си++) под линух(debian) предлагаю тут кидать ссылки на интересные мануалы/примеры или просто постить примеры (Show/Hide) работа с файлами (Show/Hide) фрагменты asm книг у гугля(тут куча книг, омг)) под линух асм имеет чуть другой формат доки для мак, оптимизации мой черновик задачи №1(осталось допилить чуток) (Show/Hide) -------------------- |
![]() ![]() |
whynot |
![]()
Пост
#2
|
![]() кранчер зі стажем ![]() ![]() ![]() ![]() ![]() ![]() Група: Trusted Members Повідомлень: 378 З нами з: 8-December 08 Користувач №: 882 Стать: Чол Free-DC_CPID jabber:whynot@jabster.pl ![]() |
модифицировать код так, чтобы из файла2 можно было получить файл1 Использование глагола "модифицировать" наводит на подозрение, что ТС неадкватно представляет себе задачу. Вместе с тем, это, конечно, не было легко, но так, "задача на одну трубку": CODE perl -MDigest -we ' $aa=Digest->new("SHA-256"); %ac=();$ad=0; while( $ab=STDIN->getline ){ chomp $ab; $ac{$ab} = [$ad++] } @ae=((0)x64); while(1){ $af=pack "C*",@ae; $ag=$aa->add($af)->b64digest; exists $ac{$ag} or next; push @{$ac{$ag}},$af; @{$ac{$ag}}>2 and die "CLASH!: $ag @ae\n"; print "found: $ag\n"; keys %ac == grep(@{$ac{$_}}==2,keys %ac) and last } continue{ $ae[0]++; $ad=0; while($ae[$ad]==256){$ae[$ad]=0;$ae[++$ad]++} @ae==65 and die "BUSTED!\n"; printf "\r[%3i]", $ad } foreach $ad (sort{$a->[0]<=>$b->[0]} values %ac){ print $ad->[1] }' Отличия от ТЗ: на вход принимаются base64 encoded, newline terminated строки. Глюкало мне не нравится; лучшим решением было бы писать развернутый буфер в STDERR (перенаправленный в /dev/null, ессно, а то будет больно) и лет через этак 200 подсмотреть в этом самом STDERR как далеко ушли. p.s. 200 лет это если использовать не стоковый Digest::SHA, а какой-нибудь XS на либу, которая считает на какой-нибудь Tesla. p.p.s. Проверять работоспособность, может быть, можно только на специально подготовленном входе. Очевидно, проверять на произвольном -- у меня есть лучшее применение циклам. p.p.p.s. Рекомендуется к прочтению, для повышения адекватности. -------------------- --
А ты готов к третьему майдану? |
![]() ![]() |
![]() |
Lo-Fi Версія | Поточний час: 18th July 2025 - 00:05 |