Відповідь на життя, Всесвіт та все


46

Завдання

Враховуючи рядок як вхідний, ваше завдання полягає в виведенні 42 лише в тому випадку, якщо рядок вводу буде точно таким:

abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz

Він може видавати будь-яке інше значення, створювати помилку або взагалі не виводити, якщо вхід не дорівнює вищезгаданому рядку.


Критерій виграшу

Це , тому найкоротший код у байтах виграє!


Багато запропонованих тут рішень помилкові, оскільки друкують 42, коли рядок довший за потрібний рядок і префікс збігається з потрібним рядком.
fR0DDY

@froddy: Що робити, якщо тільки символи? після рядка (є | є) розрив рядка? Мій звичайний механізм введення не байдуже, чи введення закінчується розривом рядка чи ні, але, наприклад, виходить однакове в обох випадках.
Джої

@ fR0DDY: Не було чіткого визначення того, як слід обробляти решту вхідних даних, тому тут немає жодного "неправильного".
PatrickvL

3
@PatrickvL Він згадує "лише", якщо введенням є заданий рядок. Тож abbcccddddeeeee...zzabcне задовольняє те, що я гадаю, і я можу побачити деякі програми, що дають так на цьому вході.
fR0DDY

2
@ fR0DDY: Дозвольте сказати іншим способом: Немає конкретизації щодо обмеження введення даних, тому це відкрито для інтерпретації. Там же не згадується кодування символів (я думаю, більшість з нас припускає, що за умовчанням їх оточення - ANSI, UTF8 і UTF16LE будуть найпопулярнішими). Також не згадуйте, як подається вхід - чи вводиться він через стандартний вхід, через параметр командного рядка? Отже, ви бачите - наявність усієї цієї свободи поступається місцем деякій інтерпретації, яку ви б позначили як "неправильну", а інші вважали б її "сумісною". NOFI, але це щоденна практика для деяких із нас.
PatrickvL

Відповіді:


20

Гольфскрипт, 20

26,{.97+\{.}*}%=42`*

з новою лінією, 21 символ (від Nabb)

26,{).[96+]*}%n+=42`*

Насправді Nabb побив міну, ось оригінальне рішення для нової лінії, 22 символи

26,{.97+\{.}*}%n+=42`*

Це просто генерувати початковий рядок і просто порівнювати його з рядком від stdin.


3
26,{).[96+]*}%n+=42`*для 21 (вкл. новий рядок).
Nabb

Гей, без цього не працює, n+тому що масив не є рівним. Вам доведеться або зберегти свої початкові 20 символів, або додати « ~s», щоб вирівняти внутрішні умови масиву.
Набб

@Nabb, heheh, я не розумів, що новий рядок зробив це інакше.
ВИ

13

Рубін 1,9, 46 42 39 символів

p (?a..?z).map{|a|a*$.+=1}*""==gets&&42

Припускає, що введення не закінчується новим рядком.


Що з новим рядком від отримує?
steenslag

2
@steenslag: Технічні характеристики нічого не говорять про те, що вхід закінчується новим рядком, тому це рішення передбачає, що його немає.
Вентеро

11

Програма С - 78 89

Редагувати: Не друкуйте 42, якщо є зайві символи.

Припустимо, що для введення даних немає останнього рядка.

main(i,j){for(i=1;i<27;i++)for(j=i;j--;getchar()==96+i?0:exit(1));puts("42"+!!gets(&i));}

Якщо префікс не збігається, програма закривається. Якщо префікс збігається, але є 1-3 або більше зайвих символів, друкується 2. В іншому випадку створюється невизначена поведінка.

Це можна зробити на один символ коротшим, змінивши exit(1)на fork(). О, і на незв'язаній ноті пам’ятайте, що збережіть будь-які відкриті документи на випадок, якщо з будь-якої причини ваша система не зафіксується.


1
Це буде надрукувати 42, якщо рядок довший бажаного рядка і префікс збігається з потрібним рядком.
fR0DDY

8

PHP (60)

Припустимо, що введення надається в командному рядку:

for(;$i<702;)$s.=chr(96.5+sqrt($i+=2));echo$s!=$argv[1]?:42;

Пояснення : рядок можна розглядати як трикутну структуру.

j     i   val
0     0   a
1   1-2   bb
2   3-5   ccc
3   6-9   dddd
4 10-14   eeeee
5 15-20   ffffff
      ...

Рядок jпочинається з індексу i = j*(j+1)/2(це формула трикутного числа). Розв’язування квадратичного рівняння призводить до того, що індекс iзнаходиться в рядку j = int((sqrt(8*i+1)-1)/2)і, отже, містить символ 97 + int((sqrt(8*i+1)-1)/2). Діапазон 0-350індексів дозволяє нам спростити це до 96.5 + sqrt(2*(i+1)), але більше не відповідає дійсності великих значень.

Редагувати : перемикається на введення командної лінії, як запропоновано в коментарях.
Редагувати : Використовує умовний оператор для збереження символу


+1, це працює;) Ви можете, будь ласка, докладно пояснити, як це $s.=chr(96.5+sqrt($i+=2));працює?
Клайд Лобо

Відредаговано. Я сподіваюся, що це має сенс :-)
sam hocevar

for (; $ i <702;) $ s. = chr (96.5 + sqrt ($ i + = 2)); echo ($ s == $ argv [1]) * 42; Всього 61
знак

@Viper_Sb: дякую за підказку; Я не був впевнений у правилах, тому наслідував рішення Клайда. Я піду з вашою пропозицією.
sam hocevar

1
@powtac синтаксис мови не потребує місця тут
sam hocevar

7

Перл, 35 43

map$s.=$_ x++$a,a..z;say 42if<>~~$s

Потрібно Perl 5.10 або пізнішої версії (запустити -E), без введення нового рядка.

Мені більше подобалося моє побічні ефекти, але коротший код говорив. Ось це як сувенір. Також призначений для Perl 5.10 або пізнішої версії, але лише для розширених / експериментальних функцій регулярних виразів, тому потрібен лише pваріант командного рядка.

$a=a;$_=/^(??{$b++;$a++."{$b}"}){26}$/&&42

Відмінно. Я дуже намагався перемогти цей рекурсивний регекс, але не зміг стати нижче 43c. : - ((
гумові чоботи

Чому потрібно говорити $a++."{$b}"замість просто $a++.$b?
Тімві

@Timwi, тому що мені потрібні ті фігурні дужки, щоб вони з'явилися в отриманому рядку. Я не хочу відповідати буквальному "d4", я хочу "dddd", вираженому як регулярний вираз "d {4}"
JB

Звичайно. Дякуємо за пояснення!
Тімві

Для цього придумали 33-байтне рішення! Спробуйте в Інтернеті!
Дом Гастінгс

7

05AB1E , 7 байт (неконкурентоспроможний)

AƶJQi42

Спробуйте в Інтернеті!

Пояснення

A       push lowercase alphabet
 ƶ      lift every letter, push it and multiply it by its index
  J     join the list
   Qi   does it equal the input?
     42 push 42 and output implicitly

Просто переживаючи деякі проблеми, щоб навчитися 05AB1E (та гольфу взагалі). Цей виклик був відзначений як активний вчора, і я знайшов коротке рішення, то чому б не поділитися? :)


3
Ласкаво просимо до PPCG!
Steadybox

6

Програма Haskell - 71 67 64 57

Передбачає відсутність нового рядка і не виводить жодного.

f x|x==[c|c<-['a'..'z'],_<-['a'..c]]="42"
main=interact f

Використання:

$ echo -n 'abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz' | { ./42; echo; }
42
$ echo -n 'something else' | { ./42; echo; }
42: 42.hs:1:0-54: Non-exhaustive patterns in function f


$

1
fwiw цей код також ще дуже читабельний.
Ден Бертон

1
З zipWithзупинками , коли вона досягає кінця короткого списку, ви можете замінити ['a'..'z']з ['a'..]і зберегти 3 -х символів.
hammar

@hammar: Дякую Я врятував ще 1 char, використовуючи >> = (concatMap) замість concat та zipWith.
Joey Adams

@hammar: Збережено ще більше, використовуючи позначення do замість >> = та лямбда :-)
Joey Adams

2
@Joey: Або ще краще:[c|c<-['a'..'z'],_<-['a'..c]]
hammar

4

J, 29

f=:42#~((>:#a.{~97+])i.26)-:]

приклад:

f 'oasijfiojasef'

f 23841235

f 'abbccc...'
42

Мені подобається Дж. І я вважаю це потворним і жахливим. І мені це подобається.
seequ

4

Д: 94 Персонажі

void f(S)(S s){S t;foreach(i;0..26)t~=array(repeat(cast(char)(i+'a'),i+1));s==t&&writeln(42);}

Більш розбірливо:

void f(S)(S s)
{
    S t;

    foreach(i; 0 .. 26)
        t ~= array(repeat(cast(char)(i + 'a'), i + 1));

    s == t && writeln(42);
}

3

Дельфи, 164 132

Цей створює рядок і просто порівнює його з першим аргументом командного рядка. Це коротше і менш хитро, ніж моє інше подання:

var s:string;c,i:int8;begin repeat s:=s+Char(c+97);i:=i-1;c:=c+Ord(i<0);if i<0then i:=c;until c=26;Write(42*Ord(s=ParamStr(1)));end.

(Зауважте, що ця версія передбачає, що cі iзмінні починаються ініціалізованими з 0, як це відбувається у моїй версії Delphi (2010).)

Як і моє інше подання, і цьому потрібно менше символів, якщо побудова рядків не відбувається у функції, як я це робив раніше:

Дельфи, 181

program a;{$APPTYPE CONSOLE}function s(c,i:byte):string;begin if(i>0)then Exit(Char(c)+s(c,i-1));if(c<122)then Exit(s(c+1,c-95));end;begin if(s(97,1)=ParamStr(1))then Write(42);end.

Зауважте, що для виводу не потрібен новий рядок, тому WriteLn () став Write ().


3

PHP - 45 символів

Я дивуюсь, що ніхто не опублікував жодної відповіді, що використовувала хешування. Це дуже ефективний спосіб тестування на точну строку.

echo md5($argv[1],1)!='¯è a@ÛÚƒ:ïT�p'?:42;

Дані начебто важко копіювати / вставляти, оскільки в середині коду є нульовий байт. Ось шістнадцятковий дамп код для цілей тестування.

65 63 68 6f 20 6d 64 35 28 24 61 72 67 76 5b 31 5d 2c 31 29 21 3d 27 af e8 a0 61 40 db da 7f 11 0f 83 3a ef 54 00 70 27 3f 3a 34 32 3b


2
Розумний! Хоча технічно інші вхідні значення дають цей самий хеш, він не задовольняє вимозі виведення 42 лише у випадку, якщо вхід знаходиться у визначеному форматі.
mellamokb


3

Піта, 14

*42qzsm*dhxGdG

Просто будує необхідний рядок, потім порівнює з введенням і множує на 42.


'порівнює з введенням і помножує на 42.' Ніколи б не думав про це самостійно. Ви просто допоможете мені збрити 1 персонаж з мого рішення. Дякую.
AndoDaan

Аргу, я прийшов занадто пізно. Чи можете ви пояснити, як це працює? Функція mвикликає у мене проблеми ...
Джим

1
@Jim Почнемо з функції map m, яка застосовує функцію до кожного елемента її введення. Вхід - Gалфавіт. xGdзнаходить положення dсимволу в алфавіті, в G, алфавіті. hзбільшує це на одиницю і *dбагато разів повторює персонажа. Поза mфункцією sоб'єднує отриманий список рядків в одну рядок, після чого qzперевіряє, чи результат дорівнює вхідному. Булеві зображення представлені так, як 0якщо вони невірні, а 1якщо істинні, тож знаходяться *42у значенні " 42істинно" і " 0помилково".
isaacg

3

Брахілог (2), 15 байт, виклик мовних повідомлень

⊇Ạ∧?o?ọtᵐ~⟦₁+₁₆

Спробуйте в Інтернеті!

А тепер для відповіді, яка працює за зовсім іншим принципом, що найбільше бачили тут. Це подання функції (у питанні не вказано, який тип подання бажаний, але функції дозволені за замовчуванням).

Пояснення

Ця відповідь працює, визначаючи різновид рядка: ті, які а) містять усі малі літери алфавіту, б) впорядковані в порядку, і в) для яких, приймаючи кількість входів кожного символу в рядку, утворюється послідовність послідовних цілих чисел, починаючи з 1. (Слід зрозуміти, що таких рядків багато, але той, який ми хочемо виділити в особливий регістр, є найкоротшим.) Потім, якщо рядок відповідає цим критеріям, ми додамо 16 до кількості різних символів у рядок; це призведе до 42, якщо рядок є тим, з якого питання задається нам у спеціальному випадку, і принаймні 43 у всіх інших випадках. (Якщо рядок не відповідає будь-якому з критеріїв, що належать до категорії, функція закінчиться збоєм, що на зразок викидання винятку.)

Ось як інтерпретувати вихідний код:

⊇Ạ∧?o?ọtᵐ~⟦₁+₁₆
⊇Ạ               {the input} contains all lowercase letters
  ∧              and
   ?o?           the input sorts to itself
                 {and; implied when two conditions overlap}
     ?ọ          the {character, number of occurrences} pairs for the input
       tᵐ        when the second element of each is taken
         ~       create an output that could have been produced by
          ⟦₁     outputting the list of integers from 1 to some input inclusive;
            +₁₆  add 16 to that input {and output it}

3

R, 60 58

if(readline()==paste0(rep(letters,1:26),collapse=""))cat(42)

if(scan(,"")==paste(rep(letters,1:26),collapse=""))cat(42)

Дякую за пропозицію від @giusppe


Я думаю, що тут просто pasteдобре, і ви можете використовувати scan(,"")замість цього readline().
Джузеппе

2

Пітон (84)

Передбачає кінцевий новий рядок в кінці введення.

імпортувати sys
if "". join (c * chr (c + 96) для c у діапазоні (27)) + '\ n' == sys.stdin.read (): надрукувати 42

1
Чому б не використовувати raw_inputзамість цього sys.stdin.read?
Хуан

1
@Juan: raw_inputчитає лише один рядок; Я не був впевнений, чи "вхід" завжди буде одним рядком, чи може бути дискваліфікуючий вхід на пізніших рядках.
Хоа Лонг Там

2

Пітон - 62 символи

print("".join(x*chr(x+96) for x in range(27))==raw_input())*42

2
Може бути коротше в Python 3: print("".join(x*chr(x+96)for x in range(27))==input())*42.
mbomb007

2

Perl, 49 46 символів

використовувати в програмі, а не в командному рядку

$..=chr($+96)x$ for 1..26;$.eq(pop)&&print '42'

join('',map$_ x++$x,'a'..'z')eq pop&&print'42'

З повагою

rbo

Редагувати: Ідея зірвана з Вентеро


2

PHP 92 88 87 символів

function _($a){for($i=97;$i<123;$i++)for($j=$i-96;$j;$j--)$b.=chr($i);echo($b==$a)*42;}

EDIT

Замінено $j<0на $jі return $b==$a?42:0;зecho $b==$a?42:0;

Замінено echo $b==$a?42:0;наecho($b==$a)*42;


2
Може бути 80 символів, якби це не всі страшні знаки долара.
Joey Adams

Також дивіться мій запис про одноразове рішення.
sam hocevar

2

ECLiPSe Prolog - 173

c(_,[],_):-!. c(A,M,N):-length(L,N),checklist('='(A),L),append(F,L,M),P is N-1,B is A-1,c(B,F,P). ?- read_string(end_of_file,351,S),string_list(S,L),c(122,L,26),writeln(42).

2

JavaScript (91 93 94 98 102 116 )

Використання:, a('string')повертає, 42якщо дійсний відповідно до специфікації, або 0.

function a(z){for(i=r='';i++<26;)for(j=i;j--;)r+=String.fromCharCode(i+96);return(z==r)*42}

http://jsfiddle.net/g25M3/6/

Редагувати : Видалено varта усунуто два пробіли в for (.

Редагувати 2 : Змінено j>0на jта

  1. return (z==r)?42:0; до
  2. return z==r?42:0

Редагування 3 : Initialize iз i='', зміни

  1. (z==r)?42:0 до
  2. (z==r)*42

Редагувати 4 : Змінити

  1. for(;i<27;i++) до
  2. while(i++<26)

Редагувати 5 : Змінити

  1. i=r='';while(i++<26) до
  2. for(i=r='';i++<26;) і
  3. for(j=i;j;j--) до
  4. for(j=i;j--;)

Ну, ви можете зменшити ще 12 знаків, якщо ви не використовуєте varдля оголошення змінних;)
Клайд Лобо

@Clyde: Дякую! Також виявив, що я міг прибрати простір між ними for (.
mellamokb

Так, ось-ось запропонував те саме;) О, і я зашифрував рішення в PHP, використовуючи ту ж логіку, що і ваша
Клайд Лобо

Ви можете зберегти ще два знаки, замінивши return(z==r)?42:0;наreturn z==r?42:0
Клайд Лобо

j>0могло бути тільки jя думаю.
ВИ

2

JavaScript 1.8, 99 символів

function c(x)(x.replace(/([a-z])\1*/g,function(m)!(a-m.length)*m.charCodeAt(0)-96-a++,a=1)==0)*a+15

Смію тебе це зрозуміти :)


2

PHP - 59

Припускає, що принаймні 1 вхід надається через cli

echo md5($argv[1])!='afe8a06140dbda7f110f833aef540070'?:42;

Він більш-менш працює, за винятком того, що md5 технічно може мати дублювання з хеширующим algo.


2

PowerShell v2 +, 47 байт

42*(-join(1..26|%{,[char]($_+96)*$_})-ceq$args)

Конструює діапазон 1..26, подає його через цикл с |%{...}. Кожну ітерацію ми використовуємо через оператор кома для побудови літералу масиву поточного, [char]помноженого на номер поточного циклу. Тоді ми -joinвсі разом побудуємо рядок, abbcccdddd...а потім використаємо -ceqпорівняльне з регістром порівняння з нашим входом $args, що призведе до $TRUEабо $FALSE. У PowerShell булеві значення можуть бути неявно зафіксовані як 1або 0, відповідно, що тут відбувається з 42*. Буде роздруковано, 42якщо вхід буде, abbccc...zzzzzzzzzzzzzzzzzzzzzzzzzzі буде виведено 0інакше


Ви можете зберегти байт :) Спробуйте в Інтернеті!
маззи

2

К, 26 байт

{(::;42)x~,/(1+!26)#'.Q.a}
{(::;42)x~,/(1+!26)#'.Q.a}"hello"
{(::;42)x~,/(1+!26)#'.Q.a}"abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz"
42

Дякую


{$[x~.Q.a@&1+!26;42;]}за 22 байти.
вулиця

1
42*(&!27)~-96+"j"$на 18 байт (перенесення моєї відповіді ОК ).
стрітер

2

VBA 91

Відповіді на VBA не було, але це працює:

Function f(t)
    For i = 1 To 26
        o = o & String(i, Chr(i + 96))
    Next
    f = -42 * (t = o)
End Function

Чи справді неможливо видалити з цього будь-який пробіл?
Esolanging Fruit

1
Скорочена версія, 61 байт -o="":For i=1To 26:o=o &String(i,Chr(i+96)):Next:?-42*([A1]=o)
Тейлор Скотт

@ Challenger5 Ні, це неможливо. Коментар Тейлора Скотта саме такий. Він працює у вікні негайного і приймає значення з комірки A1як вхідне.
Інженер Тост

2

APL (Dyalog) , 18 17 байт

42/⍨⍞≡819⌶⎕A/⍨⍳26

Спробуйте в Інтернеті!

Чотири очевидні байти можна зберегти, якщо нам дозволено використовувати великі регістри.

42 42

/⍨ якщо (літ. повторюється)

 введення символів

 тотожна

819⌶ нижній регістр

⎕AА лфабет

/⍨ тиражировано

 один наскрізь

26 26


1

Clojure - 61 годин

(fn[a](if(=(mapcat #(repeat%(char(+% 96)))(range 1 27))a)42))

Експлуатує наступні факти:

  • Clojure може інтерпретувати будь-який рядок автоматично як послідовність символів
  • Я можу використовувати діапазон чисел від 1 до 26 для обох створення символів і повторити їх правильне число або час для створення "правильного" введення

врятував би 6 символів, якби Clojure дозволив вкладати # () s ..... важливий запит функції для Clojure 1.4 Я думаю!
mikera

1

Javascript 144

Напевно, можна значно покращити, рекурсія завжди була для мене головою далеко.

Стиснута

function r(a,b,d,c){c++;if(b<d)a+=r(a,b+1,d,c);for(i=0;i<c;i++)a=String.fromCharCode(b)+a;return a}function q(a){if(q==r(a,97,122,0))return 42};

Менш стислий

function r(s, c, x, w){        
    w++;
    if(c < x)
        s += r(s, c + 1, x, w);
    for(i = 0; i < w; i++)
        s = String.fromCharCode(c) + s;              
    return s;
}
function q(z){
    if(q==r(z,97, 122, 0))
        return 42;            
}

alert(q("rgrg"));

1

Дельфи, 127

var b:Char;c,i:Int8;begin repeat if i<0then i:=c;Read(b);if c+97<>Ord(b)then Exit;i:=i-1;c:=c+Ord(i<0)until i=27;Write(42);end.

Цей зчитує рядок із вхідного даних, порівнює його по ходу, записує 42, коли введення збігається до останнього z.

Дельфи, 157

var b:pchar;c,i:byte;begin b:=CmdLine+85;c:=97;i:=1;repeat Inc(b);if b^<>Char(c)then Exit;Dec(i);if i>0then Continue;c:=c+1;i:=c-96;until i=27;Write(42);end.

Дельфи, 188

program a;{$APPTYPE CONSOLE}var b:pchar;c,i:byte;begin b:=CmdLine+85;c:=97;i:=1;repeat Inc(b);if(b^<>Char(c))then Exit;Dec(i);if(i>0)then Continue;c:=c+1;i:=c-96;until(i=27);Write(42);end.

Ця версія не використовує функцію, яка зберігає досить багато символів у порівнянні з попередньою версією цієї техніки:

Дельфи, 213

program a;{$APPTYPE CONSOLE}function t(b:pchar;c,i:byte):byte;begin repeat Inc(b);if(b^<>Char(c))then Exit(0);Dec(i);if(i>0)then Continue;c:=c+1;i:=c-96;until(i=27);t:=42;end;begin WriteLn(t(CmdLine+77,97,1));end.

На жаль, дещо довге, головним чином через те, що в Delphi довгі ключові слова та необхідність ініціалізувати консольні програми, перш ніж вони зможуть записати вихід.

Також зауважте, що я збільшив CmdLine на 77 символів, оскільки це було зміщення, яке мені потрібно було пропустити через мій локальний виконуваний шлях (Delphi не має прямого вказівника аргументів). Налаштуйте, щоб відповідати вашим власним налаштуванням (може призвести до 1 символу менше, коли зміщення <10).


Тип програми можна встановити в ProjectOptions / DelphiCompiler / Linking / GenerateConsoleApplication. Крім того, ви можете опустити program a;рядок. І дужки навколо b^<>Char(c), i>0і i=27їх можна зняти.
Wouter van Nifterick

@Wouter van Nifterick: Дякую за пропозиції, я застосую їх і до інших моїх публікацій. (Я навіть не знав, if i>0thenщо складе!)
PatrickvL
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.