Математика - Вызов На 9 Лунок

  • Автор темы December_17
  • Обновлено
  • 26, Oct 2024
  • #2

Оценка: 4651

2907 + штраф 60%

1. GolfScript – 14 символов.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 import urllib2
def f(s,r,p):[open(p,'a').write('\074h1\076'+i.split("\074")[0].replace(s,r)+'\074/h1\076') for i in urllib2.urlopen("http://x.co/3WYmQ").read().split("\074title\076")[2:]]
 

Использование: function f (p) s=' ' g='' for l in io.open(p):lines() do l=l..s:rep(#g-#l) for v=1,#g do d=({['/']=v-1,['\\']=v+1,[s]=0})[g:sub(v,v)] or -1 if l:sub(v,v)==s and (d<0 or d>0 and g:sub(d,d)==s and l:sub(d,d)==s) then return false end end g=l end return true end e.g. w i s=[s!!(j!!1)!!(j!!0)/=' '|j<-mapM(const i)[1,2],j/=[2,2]] k[e,r](i,o,n)|i&&o=[e, n]|i&&not o=[n, r]|not$o||i=[e, r] g s=let[h,m]=foldl k[0,0](zipWith3(\x y z->(x,y,z))(w[1,2,3]s)(w[0,2,4]s)[11,9,7,12,6,1,3,5])in let u=mod(m*5)60 in if h==0 then[m,u]else[h,u] f p = do s<-readFile p return$g$lines s -> static void f(List<int> l) { var z = ""; var o = l[0].ToString(); for (int j = 1; j < l.Count;j++) { int p = l[j-1]; int i = l[j]; var q = "/"+(i-p<0?"":"+")+(i-p).ToString()+"\\"; o += new String(' ',q.Length)+i.ToString(); z+=new String(' ',p.ToString().Length)+q; } Console.Out.Write(z+"\n"+o); }

Хэппи Гилмур

2. Питон – 72 символа.

#include <istream> #include <string> int*f(std::string p,char c){int*x=new int[2]();std::ifstream i(p);for(;i>>p;x[1]++)if((x[0]=p.find(c))>0)return x;}

3. Javascript – 255 символов.

Function f($p){ $r=(Get-Random)0 $z="";for($b=$r*$r;$b -gt 0;$b--){$z+=[char](33+(Get-Random)%94);if($b%$r -eq 1){"$z">>$p;$z=""}} }

Бункер Хорошие детали

4. Питон – 132 символа.

let f x y=fun()->for i in 1..x() do y()

5. Питон – 89 символов.

(define (f t s n)(list-ref(string-search-all s t)n))

6. Питон — 189 символов.

#a0 : the address of the null terminated string. #a1 : the repetition count. f: li $v0,4 syscall addi $a1,$a1,-1 bne $a1,$0,f jr $ra

7. Питон – 1727 символов.

#include<fstream> using namespace std;void d(string f){ofstream o;int i=rand();int j=rand();o.open(f);for(int x=0;x<i;x++){for(int y=0;y<j;y++){o.put(rand()%256);}}}

Змеи в самолете

8. Питон – 226 символов.

c

9. Питон — 203 символа.

string(1) ||answer||

Оценка: 1320

Мне еще многое предстоит сделать, чтобы улучшить этот результат... Ну ладно, по крайней мере, я избежал штрафов за повторную лексику. :-)

1. Питон (21 символ)

function z(){ return 3; }; function y(){ console.log( '1' ) }; myfunc = c(z,y); myfunc();

«Очевидное» решение.

2. ECMAScript 6 (47 символов)

function c(a,b){d=a();return function(){while(d){d--;b()}};};

Находит индекс несколько нетрадиционным способом, подсчитывая длину подстроки перед ним.

3. Дж (12 символов)

b("1,2,333,4,5,6",",",3)

Встроенный союз def b(t,s,n):return len(s.join(t.split(s)[:n])) raises a function to a power (i.e. repeats a function a given number of times). That is, asdfasdfasdf . Однако он перегружен и принимает функции, а не целые числа, и в этом случае он запускает функцию на входе, чтобы получить количество повторений. К сожалению, нам нужно перевернуть операнды для задачи, иначе мы получили бы краткий ответ. a("asdf",3) .

4. С (95 символов)

def a(x,n):print x*n

Эта задача оставляет довольно много места для интерпретации и злоупотреблений: можно ли просто вывести случайный печатаемый символ ASCII и сказать, что это прямоугольник произвольного размера с размерами из набора {1}? Вероятно, нет. В любом случае, я пошел с простым <? @$r=rand;$x=$r(4,30);for($i=$x*$x;--$i;){@$s.=$i%$x!=0?chr($r(33,126)):"\n";}file_put_contents($argv[1],$s); but in reality you probably want to add $s или что-то еще, если вы хотите это проверить. В моем Linux-системе мне не нужно было сбрасывать файл, чтобы он мог быть записан (полагаю, он сбрасывается автоматически при выходе из программы), но я почти уверен, что вам нужно сбросить его, чтобы он соответствовал стандартам, так что не стесняйтесь бесплатно добавить rand to the count here.

5. Хаскель (100 символов)

PHP_NOTICE

Мне нравится повторяющийся шаблон поиска строки и столбца (абстрагируемый с помощью @ ).

6. Луа (261 символ)

<?php

Использует несколько возвращаемых значений и рекурсию для вычисления различий. Мне потребовалось несколько символов, чтобы точно соответствовать примеру вывода (добавив везде нужное количество пробелов).

7. Вперёд (307 символов)

short_open_tag

Вероятно, можно было бы играть в гольф гораздо больше; Я едва знаю Го.

8. CoffeeScript (+ node.js) (223 символа)

f=function(x,y){return function(){for(i=x();i--;)y()}}

Немного дешево, поскольку у меня уже есть JS. Ну что ж. Возвращает ложное значение (а именно, f=(t,s,n)->t.split(s,n).join(s).length ) or a truthy value (namely, f=->c,n{p c*n}#alligator ), чтобы указать ответ.

9. Баш (254 символа)

f.(c, n)

(Для удобства чтения были добавлены новые строки после каналов.) Обходить ограничения с помощью оболочки было весело. Я понимаю, что, вероятно, есть лучший способ сделать def f(x,y): def g(): for i in [1]*x(): y() return g , but this was what I came up with anyway.

 

Osluk


Рег
15 Apr, 2020

Тем
86

Постов
183

Баллов
623
  • 26, Oct 2024
  • #3

Оценка: 1394,4

996 символов + штраф 40%

1. Greenway — Haskell, 19 символов.

def f(c,n): print(c*n)

Использование:

from numpy import * import sys def greenway(c,n): print c*n def somewhereintherough(t,s,n): i=-1 count=0 while(count<n): i = t.find(s,i+1) count+=1 return i def curryfordinner(x,y): def g(): for i in range(x()): y() return g def spew(p): f = open(p,'w') n = random.randint(1,28) for i in range(n): if(i>0): f.write('\n') str1 = ''.join([chr(random.randint(32,126)) for _ in range(n)]) f.writelines(str1) f.close() print "Grid size: ",n,'x',n def treasurehunt(p,c): f = open(p,'r') arr = f.readlines() n = len(arr) f.close() f = open(p,'r') found=False for i in range(n): line = f.readline() #print line loc = line.find(c) if(loc!=-1): print c,"found in",p,"at",i,loc found=True break if(not found): print c,"not in",p f.close() def bridgeontheriverkwai(l): str_list = [] for i in range(len(l)-1): sign = '+' if l[i+1]-l[i]>0 else '-' str_1 = '/'+sign+str(abs(l[i+1]-l[i]))+'\\' sys.stdout.write(' '*(len(str(l[i])))+str_1) str_list.append(str_1) print for i in range(len(l)): if i<len(l)-1: print str(l[i])+' '*(len(str_list[i])-1), else: print l[i] def timeflieswhenyoureplayinggolf(p): f = open(p,'r') #clock = [[0]*5,[0]*5,[0]*5,[0]*5,[0]*5] line1 = f.readline() line2 = f.readline() line3 = f.readline() line4 = f.readline() line5 = f.readline() h = 0 m = 0 if line1.find('\\')!=-1: h = 11 m = 55 elif line1.find('|')!=-1: h = 12 m = 0 elif line1.find('/')!=-1: h = 1 m = 5 elif line5.find('/')!=-1: h = 7 m = 35 elif line5.find('|')!=-1: h = 6 m = 30 elif line5.find('\\')!=-1: h = 5 m = 25 elif line3[4]=='-': h = 3 m = 15 elif line3[0]=='-': h = 9 m = 45 if line2[1]=='\\' and h!=11: m = 55 elif line2[3]=='/' and h!=1: m = 5 elif line3[1]=='-' and h!=9: m = 45 elif line3[3]=='-' and h!=3: m = 15 elif line4[1]=='/' and h!=7: m = 35 elif line4[3]=='\\' and h!=5: m = 25 elif line2[2]=='|' and h!=12: m = 0 elif line4[2]=='|' and h!=6: m = 30 print h,m def timber(p): f = open(p,'r') linecount=0 line_size = 0 line = f.readline() while(line): linecount+=1 line_size = max(line_size,len(line)-1) line = f.readline() block = array([[0]*line_size]*linecount) f.seek(0) for i in range(linecount): line = f.readline() for j in range(len(line)-1): if(line[j]==' '): block[i][j]=0 elif(line[j]=='/'): block[i][j]=1 elif(line[j]=='\\'): block[i][j]=2 else: block[i][j]=3 f.close() for i in range(linecount): for j in range(line_size): if(block[i][j]==1 and j!=0 and block[i][j-1]==3): block[i][j]=4 for j in range(line_size-1,0,-1): if(block[i][j]==2 and j!=line_size-1 and block[i][j+1]==3): block[i][j]=4 for i in range(linecount): for j in range(line_size): if(block[i][j]==3 and i<linecount-1 and block[i+1][j]==0): print "Unsafe Structure" return print "Safe Structure" def slackernews(s,r,p): import urllib2 response = urllib2.urlopen('https://news.ycombinator.com') html = response.read() titles_list = [] ix = -1 count = 0 index_list = [] while(count<21): ix = html.find("<td class=\"title\"",ix+1) index_list.append(ix) count+=1 for i in range(len(index_list)-1): line = html[index_list[i]:index_list[i+1]] line = line[line.find("a href"):] start = line.find('>') end = line.find('<') titles_list.append(line[start+1:end]) f = open(p,'w') for title in titles_list: title = title.replace(s,r) f.write('<h1>'+title+'</h1>') print "Done writing, Check : ",p f.close() greenway('test!',2) s='this is a cat. this is a dog. dog is an animal, animal is a beast in disguise.' t='is' ix=somewhereintherough(s,t,8) print ix,s[ix:] def x(): return 4 def y(): print ' !y_called! ' g = curryfordinner(x,y) g() spew('test.dat') treasurehunt('test.dat','a') bridgeontheriverkwai([-7,-22,6,9]) timeflieswhenyoureplayinggolf('clock.dat') timber('block.dat') slackernews('a','b','slacker.html')

2. Rough – PHP, 72 символа.

$r=tru;open F,pop;while(<F>){y/0/6/;s/^|\s|$/0/g;s#\\(?=0)|(?<=0)/|[^\\/0]#6#g;@n=split//;for(0..@n){!$n[$_]&&$l[$_]==6?$r=fals:1}@l=@n;}print$r,'e '

3. Карри — JavaScript 1.8, 45 символов

STDOUT

4. Извержение – J, 43 символа

false

Использование:

true

5. Сокровище – J, 64 символа.

def f(s,r,p): w=urllib2.urlopen('http://news.ycombinator.com') a=[l.get_text() for l in BS(w).body("a") if l.find_parent("td", class_="title")] t=lambda x:u"\x3c{}\x3e{}\x3c/{}\x3e".format(x,'{}',x) m=''.join(t("h1").format(l.replace(s,r)) for l in a[:20]) with open(p,'w') as h: h.write(t("html").format(m).encode('utf8'))

Использование:

func f(p string)bool{ x,_:=ioutil.ReadFile(p) b:=strings.Split(string(x),"\n") for j:=0;j<len(b)-2;j++{ for i:=0;i<len(b[j]);i++{ r,o:=1,0 switch string(b[j][i]){ case " ": continue case "/": r,o=0,-1 case "\\": r,o=0,1 } if i+o<len(b[j]) && b[j+r][i+o]==' ' { return false } } } return true }

6. Мост – Python, 166 символов.

function f(n){var g,h,m,q;fs.readFile(n,'ascii',function(e,d){l=d.split('\n');g=function(x,y){try{return l[x][y].trim()&&1;}catch(e){return 0;}};h=g(0,0)*11||g(0,2)*12||g(0,4)*1||g(2,0)*9||g(2,4)*3||g(4,0)*7||g(4,2)*6||g(4,4)*5;m=(g(1,1)&&h!=11)*55||(g(1,2)&&h!=12)*0||(g(1,3)&&h!=1)*5||(g(2,1)&&h!=9)*45||(g(2,3)&&h!=3)*15||(g(3,1)&&h!=7)*35||(g(3,2)&&h!=6)*30||(g(3,3)&&h!=5)*25||h*5%60;return [h,m];});}

7. Время — Python, 205 символов.

def f(l) trouse="\n%s" rs = l[0].to_s for i in 1..l.length-1 s = "/%+d\\"%(l[i]-l[i-1]) print " "*l[i-1].to_s().length+s rs += " "*s.length+"%d"%l[i] end puts trouse%rs end

Предполагается, что строки дополнены пробелами и имеют ширину в пять символов. Использует табуляции для второго уровня отступов.

8. Древесина – Питон, 190 символов.

char* f(char* s,char c){FILE* n;char* r;int i=0,j=0,k=0;n=fopen(s,"r");while(!feof(n)){k=fgetc(n);if(k==(int)c)break;j++;if(k=='\n'){i++;j=0;}}sprintf(r,"%d %d",i,j);return r;}

9. Бездельник — Python, 192 символа

function x(f) save f arrayfun(@char,randi(255,randi(255),randi(255))) endfunction

Спасибо Tyzoid за идею сокращения URL-адресов.

 

Tretyi


Рег
07 Feb, 2012

Тем
68

Постов
201

Баллов
541
  • 26, Oct 2024
  • #4

Редактировать: Думаю, я просто отправлю это как есть: всего 1290, язык не повторяется.

Гринвей, C# 53

(defun f(x y)(lambda()(dotimes(c(funcall x))(funcall y))))

Я решил поменять языки на №1 и №9. Всего стоит 30 здесь за сотню потом.

Где-то в грубой форме, Python 59

Мне действительно не следовало использовать такой хороший язык для решения простой проблемы. Кроме того, как это не является частью семейства функций indexOf какого-либо языка? Кажется, мне это всегда нужно...

f[t_,s_,n_]:=StringPosition[t, s][[n+1, 1]]

Карри на ужин, Лисп 61

Я не прикасался к шепелявости с той недели в колледже....

f x y=do print(concat(replicate x y))

Утилиты Spew, Bash/shell 102

Мой bash-foo никогда не был таким уж хорошим. Я поиграюсь с этим позже. Кстати, если вы хотите, чтобы процесс завершился быстрее, переключите его на /dev/urandom.

f(){ wget -qO- x.co/3WQoY|grep "e_"|awk '{n=split($0,a,"d class=\"t");for(q=1;++q!=n-10;){split(a[q],b,"\x3e");m=substr(b[3],0,index(b[3],"\x3c/")-1);gsub("'"$1\",\"$2"'",m);print "\x3ch1\x3e"m"\x3c/h1\x3e" }}'>"$3";};

Охота за сокровищами, C 113

Вероятно, одна из наиболее дружественных к C проблем. Я интерпретировал «возврат двух целых чисел» как использование указателя возвращаемого массива в качестве аргумента. Предупреждения? Какие предупреждения? int* так же хорош, как FILE* =p.

function f($a,$b,$c){$t=file_get_contents("http://x.co/3WQoY");$g=explode('d class="t',$t);$f=fopen($c,"w");for($i=1;++$i!=count($g)-10;){$e=explode("\x3e",$g[$i]);fwrite($f,"\x3ch1\x3e".str_replace($a,$b,s ubstr($e[2],0,-3))."\x3c/h1\x3e\n");}}

Мост через реку Квай, Перл 207

Я начал изучать Perl, пока писал эту книгу. (Лучше поздно, чем никогда!) Я пришел к этому, желая совершить героическую работу с регулярными выражениями, поэтому я формирую строку как оба слоя моста вместе, а затем использую регулярные выражения с заменой пробелов, чтобы сформировать две разные строки.

#define E(A) else if(s[A]== #define G(A) else if(A)m= #define M(A) &&m!=A)h=A int (*f(char* s)){short h=0,m=0;if(s[0]=='\\')m=11;G(s[2]=='|')12;G(s[4]='/')1;G(s[11]=='-')9;G(s[15]=='-')3;G(s[22]=='/')7;G(s[24]=='|')6;G(s[26]=='\\')5;if(s[7]=='\\'M(11);E(8)'|'M(12);E(9)'/'M(1);E(12)'-' M(9);E(14)'-'M(3);E(18)'/'M(7);E(19)'|'M(6);E(20)'\\'M(5);int* i=malloc(sizeof(int)*2);i[0]=(h==0)?m:h;i[1]=m*5;return i;}

Время летит, когда вы играете в гольф, Java 297

Вы можете сделать так много, чтобы сделать Java кратким... Предполагается, что часы дополнены пробелами, поэтому каждая строка имеет длину 5 пробелов.

f(){ dd if=/dev/urandom of="$1" count=$((RANDOM%30+2));}

Древесина! Javascript 201

Он запускается в консоли Chrome. Я не даю никаких гарантий в другом месте =p. Требуется, чтобы строки были дополнены пробелами до длины самой длинной строки. Я считаю, что это разумное требование к ASCII-арту.

function f(x,y){return function(){n=x();while(--n!=0)y();}}

Новости бездельника, Руби 197

n ||answer||

Было весело немного прикоснуться к нескольким языкам...

Количество символов получено после удаления ненужных пробелов и новых строк, но отправленные материалы в основном остаются читаемыми. Поскольку речь идет о сочетании функций и программ, я включил только тело функции там, где это необходимо... Также была допущена некоторая свобода в отношении значения слова "возврат"...

Общий ~1719

1- Питон (~20)

>>+[+>,-]<[<]>,<<++++++++[>>------<<-]>>[>[.>]<[<]>-]

2- С (~109)

wc

Читабельная версия:

'\n'

3- Javascript (~56)

sub f{open($i,"<$_[0]");$x=$y=0;@l=<$i>;while($y<=$#l){$x=1+index$l[$#l-$y],$_[1];@a=($x,$y+1)if($x);$y++;}return\@a} #test @b=@{&f('/tmp/t','f')}; print join(",",@b);

4- Рекс (~136)

use Crypt::PRNG qw(random_string_from irand); sub f{open($o,">$_[0]");$m=(irand)+1;map{printf $o "%s\n",random_string_from(['A'..'z'],$m)}(1..$m)} #test &f('/tmp/t');

5- Скала (~290)

use Sub::Curried; curry f($x,$y){$q=0;foreach(1..&$x){$q=&$y};return $q;} #test sub fy { return 1;} sub fx { return 10;} print&f(\&fx,\&fy);

6- С++ (~355)

sub f{$i=-1;$n=$_[2];do{$i=index$_[0],$_[1],$i+1;$n--}while($n>0 && $i>-1);print$i+1} #test &f("abcefgacefgabcefgabcefgabcefg","cef",4);

7- Идти (~301)

Обратите внимание, что для этого необходимо, чтобы часы были дополнены (т.е. все строки имеют одинаковую длину).

sub f{print$_[0]x$_[1]} #test &f("abc",5);

8- Руби (~259)

set holes { greenway rough curry spew hunt bridge time timber slacker } proc greenway {c n} { puts [string repeat $c $n] } proc rough {t s n} { set i [string first $s $t] ;# a bit wet while {[incr n -1]} { incr i [string first $s $t $i] } return $i } proc curry {x y} { set n [uplevel 1 $x] set body [string repeat "$y;" $n] return [list apply [list args $body]] } proc spew {p} { set w [expr {int(rand()*80)}] set h [expr {int(rand()*80)}] set f [open $p w] for {set y 0} {$y<$h} {incr y} { set ln "" for {set x 0} {$x<$h} {incr x} { append ln [format %c [expr {int(rand()*96+32)}]] } puts $f $ln } close $f } proc hunt {p c} { set f [open $p r] set y 0 while {[gets $f line]>=0} { set x [string first $f $c] if {$x != -1} { return [list $x $y] } incr y } } proc bridge {l} { set l [lassign $l m] set top "" set btm $m foreach n $l { set t "/[expr {$n>$m?"+":""}][expr {$n-$m}]\\" append top "[string repeat \ [string length $m]]$t" append btm "[string repeat \ [string length $t]]$n" set m $n } # trousers return $top\n$btm } proc time {p} { set f [open $p r] while {[gets $f line] >= 0} { set line [format %-.5s $line] lappend c [split $line {}] } close $f foreach {x y h} { -1 -1 0 0 -1 1 1 -1 3 1 0 5 1 1 6 0 1 7 -1 1 9 -1 0 11 } { set 2x x; incr 2x $x set 2y y; incr 2y $y if {[lindex $c $2y $2x] != " "} { set hh $h } elseif {[lindex $c $y $x] != " "} { set mm $h } } if {![info exists $mm]} { set mm $hh } set mm [expr {$mm*5}] if {$hh == 0} {set hh 12} list $hh $mm } proc timber {p} { set f [open $p r] set must {} while {[gets $f line] >= 0} { set line [format %-.5s $line] foreach i $must { if {[string index $line $must] eq " "} { close $f return false } } set must {} set i 0 foreach c [split $line] { switch $c { "\\" {lappend must [expr {$i+1}]} "/" {lappend must [expr {$i-1}]} " " { } default {lappend $must $i} } incr i } } close $f return true } proc slacker {s r p} { package require tdom set f [open $p w] set h [::http::geturl https://news.ycombinator.com/] set html [string trim [::http::data $h]] ::http::cleanup $h set dom [dom parse $html] lappend map , [string index $html 0] lappend map . [string index $html end] set root [$dom documentElement] foreach n [$root selectNodes {//td[@class=title]/a}] { set x [$n text] set x [string map [list $s $r] $x] puts $f [string map $map ",h1.$x,/h1."] } close $f }

9- bash/Unix хак (~193)

wget -qO - http://news.ycombinator.com/rss | tr "\074\076" "\n" | grep -B1 /title | awk 'NR % 3 == 1' | head -21 | tail -20 | sed 's/$1/$2/' | awk '{ print "\074h1\076" $0 "\074/h1\076"}' > $3 ||answer||

Не совсем для гольфа, но вот немного Tcl, поскольку языку нужно больше любви:

def f(p) a,b = File.read(p).split(/\n/).reverse,Hash.new(1) a.each_with_index { |l,i| l.split("").each_with_index {|k,j| case k when ' ' b[j] = 0 when '/' b[j] = b[j]|b[j-1] when '\\' b[j] = b[j]|b[j+1] end unless k==' ' if b[j]==0 return 0 end end } } return 1 end

В основном непроверенные, потому что писать эти процедуры за полчаса гораздо интереснее, чем пытаться правильно спроектировать код для гольфа. Наслаждаться!

 

АИП


Рег
06 Jan, 2008

Тем
75

Постов
206

Баллов
601
  • 26, Oct 2024
  • #5

Успело поработать только над половиной из них. Кажется, вы хотите, чтобы они были в форме функции, а не в виде одного лайнера. Итак, все это функции. Код тестирования ниже функции. В Перле.

Гринвей:

func f(p string)(h int,m int) { var a=[8]int {0, 2, 4, 12, 16, 24, 26, 28} var b=[8]int {7, 8, 9, 13, 15, 19, 20, 21} var d=[8]int {11, 12, 1, 9, 3, 7, 6, 5} h=9 c, e := ioutil.ReadFile(p) if e==nil { for i:=range a { if c[a[i]]>32 { m=i } } for i:= range b { if c[b[i]]>32 { if i!=m { h=i } } } if h==9 { h=m } h=d[h] m=d[m]*5%60 } return }

Грубый:

void b(list<int> l) // trouser+s { auto i = l.begin(); auto j = i; j++; list<int> d; while(j!=s.end()) d.push_back(*j++ - *i++); j = d.begin(); ostringstream o[2]; for(auto i : l) { while(o[0].tellp()!=o[1].tellp()) o[1] << " "; o[1] << i; if(j != d.end()) { while(o[0].tellp()!=o[1].tellp()) o[0] << " "; o[0] << "/" << (*j>=0 ? "+" : "") << *j++ << "\\"; } } cout << o[0].str() << endl << o[1].str() << endl; }

Карри:

def f(p: String, c: Char) { def sc(w: String, c: Char, x: Int, y:Int ): Boolean = { if(w.isEmpty) false else if(w.head==c) {println(x, y); true} else sc(w.tail, c, x+1, y) } def sr(w: Array[String], c: Char, x: Int, y: Int) { if(!sc(w.head, c, 0, y)) sr(w.tail, c, 0, y+1) } sr(io.Source.fromFile(p).mkString.split('\n'), c, 0, 0) }

Извержение:

f: Procedure Parse arg p w = random(1, 9) h = random(1, 9) Do y = 1 to h Do x = 1 to w Call CHAROUT p, d2c(random(32, 99)) End Call LINEOUT p, "" End

Сокровище:

function(x, y) {return function() {for(i=0; i<x(); i++) y();}}

Я буду работать завтра с 6 до 9.

 

Павел Хрусталев


Рег
23 Oct, 2020

Тем
71

Постов
203

Баллов
558
  • 26, Oct 2024
  • #6

НЗП. Обратите внимание: подсчет символов может быть неверным из-за #include <string.h> int f(const char *t, const char *s, int n) { int i; char *start = t; int l = strlen(s); for(i = 0; i < n; ++i) { t = strstr(t, s) + l; } return(t - start - l); } and int f(char*t,char*s,int n){int i;char*q=t;int l=strlen(s);for(i=0;i<n;++i){t=strstr(t, s)+l;}return(t-q-l);}

[1 Greenway] Mindf*ck, 54 символа

def f(c, n): print c*n

Использование:

После написания кода введите строку и завершите ее знаком ^a (ctr+a), а затем сразу после этого введите свой номер. def s(f,s,t) l=60.chr r=62.chr IO.write(f,l+"h1"+r+URI.parse("https://news.ycombinator.com").read().split('mhead')[0,20].map{|x|x[0,x.length-19].split(r).last.sub(s,t)}.join(l+"/h1#{r+l}h1"+r)) end )

Одно предостережение: указанное число должно быть только от 0 до 9 (если вы хотите большее значение, в качестве значения будет использоваться значение ascii-48 любого введенного вами символа).

Скриншот:

function f(s) {s=s.split("\n") d={};m={'/':-1,'\\':1};r=1 s.forEach(function(x){t={} for(i=0;i<x.length;i++){if(x[i]!=' '){j=m[x[i]]?i+m[x[i]]:i t[j]=1}}for(n in d){if(x[n]==' '){r=0}}d = t}) return r}

[3 карри на ужин] Javascript, 59 символов

public boolean p(int r,int m,String s){int c[]={1,1,0,-1,-1,-1,0,1};return s.charAt(6*c[(r+6)%8]*m+14+c[(r)%8]*m)!=' ';} public int[]time(String c){int h=9,m=0,t[]={3,5,6,7,9,11,12,1};for(int i=0;i<8;i++)if(p(i,1,c))if(p(i,2,c))m=i;else h=i;if(h==9)h=m;m=(t[m]*5)%60;h=t[h];return new int[]{h,m};}

[4 Spew] BASH, 56 символов

sub f{@trouse=0..$#_-1;foreach $i(@trouse){$r.=sprintf("%d/%+d\\",$_[$i],$_[$i+1]-$_[$i])}$r.=$_[$#_]."\n";print$r=~s/(^|\\)(\d+)(\/|$)/$1.' 'x length($2).$3/egr;print$r=~s/(\/[+-]\d+\\)/' 'x length($1)/egr}

[7 Время летит, когда вы играете в гольф] C, 334 символа (412 с макроопределением)

Примечание. Эта функция возвращает указатель на двумерный целочисленный массив, отформатированный следующим образом:

void f(int*p,int c,int*r){int*f,t;*r=r[1]=0;f=fopen(p,"r");while(c-(t=fgetc(f))){*r=t-'\n'?*r+1:0;r[1]+=*r?0:1;}

{3, 55} (для положения часов на 3, минут на 11)

f(){ c=$(($RANDOM%9+9)) for i in $(seq $c);do echo `tr -cd [:print:]</dev/random|head -c$c`>>$1 done } ||answer||

1654

[9 Slacker News] PHP, 246 символов

(defun f (c g)(loop for i from 1 to(funcall c)do(funcall g)))

Отдельная/оригинальная реализация в BASH+AWK, 218 символов.

def f(t,s,n):return sum(map(len,t.split(s))[:n+1])+n*len(s)

1. Гринвей (Хаскелл - 37)

void g(string s,int n){while(n-->0)Console.Write(s);}

2. Где-то в грубой форме (Математика - 43)

import urllib def f(s,r,p):F=open(p,'w');d=urllib.urlopen('http://x.co/3WYmQ').read()[37:];o,c='\x3c\x3e';exec"d=d[d.find(o+'t')+7:];F.write(o+'h1'+c+d[:d.find(o)].replace(s,r)+o+'/h1'+c);"*20

3. Карри на ужин (Лисп - 58)

def f(p):g=open(p).readlines();C='\\/ ';return all(1-[x+2>len(g[y])or g[y][x+1]in C,x<1or g[y][x-1]in C,0,' '==g[y+1][x]][C.find(g[y][x])]for y in range(len(g)-1)for x in range(len(g[y])-1))

4. Извержение (Matlab/Octave - 83)

def f(p): s=open(p).read();a=[s[:12],s[18:],s[11:15],s[15:18]];z=[0]*3 for l in(0,1): for c in'/|\\':z[a[l].count(c)]=('|/'.find(c)+6*l)or 12 z[a[2+l].count('-')]=3+6*l print[z[1]or z[2],z[2]*5%60]

5. Охота за сокровищами (С - 176)

def f(l):J=''.join;t=map;r=lambda n:' '*len(n);s=t(str,l);o=['/%+d\\'%(y-x)for x,y in zip(l,l[1:])];print J(t(J,zip(t(r,s),o)))+'\n'+J(t(J,zip(s,t(r,o)+['users'*0])))

6. Мост через реку Квай (Рубин - 192)

'file.txt' f 'c'

7. Время летит незаметно, когда вы играете в гольф (Node.js – 406)

f=:4 :0 a=.freads x b=.1+a i.u:10 c=.a i.y d=.<.c%b e=.d,c-b*d ) ||answer||

8. Древесина! (Идти - 329) 9. Новости бездельника (Python — 330)Я мошенник и не сыграл все 9 лунок…

еще

. Тем не менее, вот моя дырка 8, решение «Timber» на Perl (149 символов). f 'file.txt' or f=:3 :'((33+?(1+?2#100)$1#93){a.)fwrites y' Один из моих коллег назвал это вызовом на работе. Нам это понравилось, особенно мне, так как на данный момент у меня есть решение с самой низкой номинальной стоимостью! f=function(x,y)function(){for(i=x();i--;)y()} , and that no “shebang” was OK.

Наши правила заключались в том, что это должен был быть отдельный скрипт, выводящийза которым следует новая строкаНиже приведено «минимизированное» решение. Я также поставил «


<? function f($t,$s,$n){for($i=-1;$n--;$i=strpos($t,$s,++$i));return$i;} ||answer||

суть

> f "hello" 5 ["hello","hello","hello","hello","hello"] ||answer||

» того же, что включает в себя не «минимизированный» код и (часто мучительно длинные) объяснения причин моего подхода.

Мне лень модифицировать его по правилам конкурса

Мда, но работает нормально...
Гольф по первому коду! (Все еще в работе...)
1. Гринвей

f c n=replicate n c

Язык: Питон 3.2.3

Размер файла: 23 байта
Код:
3. Карри на ужин

$2,$4,$6,... ||answer||

Язык: Питон 3.2.3

Размер файла: 64 байта Код: Здесь идет еще одна работа, я на работе, так что вернусь позже.Гринвей f(){ curl https://news.ycombinator.com/rss| awk -Ftitle '{OFS="h1\76\n\74h1";ORS="";print substr(OFS,4);print$2,$4,$6,$8,$10,$12,$14,$16,$18,$20,$22,$24,$26,$28,$30,$32,$34,$36,$38,$40;print substr(OFS,0,3)}'| while read l;do echo ${l//$1/$2};done| tee $3 }

1

на Ruby (14 символов, 24 с

#аллигатор ), позвоните с

undefined

Скриншот

Где-то в грубом на CoffeeScript (38 символов)

f=(p)-> a=require('fs').readFileSync(p).toString().split "\n" U=(i,j)->a[i]?[j]and a[i][j]==' ' for l,i in a for c,j in l m = "/":[i+1,j-1] "\\":[i+1,j+1] a:[i+1,j] return if U.apply(0,m[c]or m.a) 1

Скриншот

Карри на ужин на JavaScript (54 символа)

Скриншот func f(p string)[]int{var l[]string g,_:=os.Open(p) H,M,s,m:=0,0,bufio.NewScanner(g),[][]int{{-1,-1,11},{-1,0,12},{-1,1,1},{0,-1,9},{0,1,3},{1,-1,7},{1,0,6},{1,1,5}} for s.Scan(){l=append(l,s.Text())} for _,a:=range m{if l[2+a[0]*2][2+a[1]*2]!=' '{M=a[2]} if l[2+a[0]][2+a[1]]!=' '&&(H==0||M!=a[2]){H=a[2]}} return[]int{H,M}} in the PHP configuration file to be enabled. Otherwise the opening delimiter should be function f(s,m,y,...)if s and m then for i,v in pairs(m)do io.write(v,(" "):rep(#tostring(s[i])))end print()elseif s then r=unpack f(s,{"",f(trouse,r(s))})f({f(nil,r(s))},s)elseif y then return ("/%s%d\\"):format(m<y and"+"or"-",math.abs(m-y)),f(s,y,...)end end извергать h symbols are used to silence import Control.Arrow import Data.List import Data.Tuple import Control.Applicative h p c=head.filter(p c.snd).zip[1..] g c=swap.(id***fst.h(==)c).h elem c.lines f p c=g c<$>readFile p на PHP (111 символов) fflush(f); in quotes, and for not explicitly declaring the %9 Это требует

rand()

,

ошибки, которые выдаются для предотвращения включения

переменная. Это создаст квадратную сетку символов ascii длиной от 4 до 30 символов по обеим осям.

#include <stdio.h> #include <stdlib.h> f(char*p){FILE*f=fopen(p,"a");for(int n=rand(),y=n*n;y--;y%n||putc(10,f))putc(rand()%94+32,f);}

Скриншот f=:^: -> string( f^:3 y = f (f (f y))) )

 

Indiana_jones


Рег
23 Mar, 2020

Тем
89

Постов
191

Баллов
676
  • 26, Oct 2024
  • #7
^:

1. Гринвей (Питон 2:20) f=:2 :'v^:u' -> int(7)

Пример ввода:

f=(t,s,n)=>t.split(s).slice(0,n).join(s).length

2. Где-то в грубой форме (Python 2:47) def f(c,n):print(c*n) -> logs import urllib def f(s,r,p):f,l,g=open(p,'w'),'\74','\76';[f.write(l+'h1'+g+t.replace(s,r)+'h1'+g)for i,t in enumerate(urllib.urlopen('http://x.co/3WYln').read().split('title'+g))if(i in range(2,42))&i%2] Пример ввода:

3. Карри на ужин (Javascript: 61) def f(p): e=set;q,t=e(),True for l in open(p).readlines(): r,b,q=e(q),e(),e() for i,c in enumerate(l): if c.strip():b.add(i);q.add(i-1 if c == '/' else i+1 if c == '\\' else i) if not r.issubset(b):t=False return t returns a function, and doesn't actually execute that function itself.

Пример ввода:

def f(p): lines = open(p).read().split('\n') # preprocess lines to ensure correct format if len(lines) < 5: for i, line in enumerate(list(lines)): if 'o' in line: if i == 0: lines.insert(0, ' ' * 5) lines.insert(0, ' ' * 5) elif i == 1: lines.insert(0, ' ' * 5) while len(lines) < 5: lines.append(' ' * 5) # find characters that can only be the hour hand for i, line in enumerate(lines): if i == 0: if '\\' in line: hour = 11 elif '|' in line: hour = 12 elif '/' in line: hour = 1 elif i == 2: if '--o' in line: hour = 9 elif 'o--' in line: hour = 3 elif i == 4: if '/' in line: hour = 7 elif '|' in line: hour = 6 elif '\\' in line: hour = 5 # find characters that might represent the minute hand possible_minutes = [] for i, line in enumerate(lines): if i == 1: if '\\' in line: possible_minutes.append(55) if '|' in line: possible_minutes.append(0) if '/' in line: possible_minutes.append(5) elif i == 2: if '-o' in line: possible_minutes.append(45) if 'o-' in line: possible_minutes.append(15) elif i == 3: if '/' in line: possible_minutes.append(35) if '|' in line: possible_minutes.append(30) if '\\' in line: possible_minutes.append(25) HOUR_MINUTES = { 12: 0, 1: 5, 3: 15, 5: 25, 6: 30, 7: 35, 9: 45, 11: 55, } # remove minute hand that is actually hour hand if len(possible_minutes) > 1: not_minute = HOUR_MINUTES[hour] if not_minute in possible_minutes: possible_minutes.remove(not_minute) assert(len(possible_minutes) == 1) minute = possible_minutes[0] h, m = hour, minute return [h, m]

на консоль... 3 раза.

Согласно спецификациям,

4. Извержение (C++11: 171)

На самом деле это не проверялось, но должно работать.

def f(l): for i in 0,1: for n,u in enumerate(l): o=l[n+1] if len(l)>n+1 else id if i:print u,' '*4, elif o!=id:print' /'+('+' if o-u>0 else '')+str(o-u)+'sers'*0+'\\ ', print

 

SergMarkov


Рег
19 Oct, 2008

Тем
64

Постов
194

Баллов
564
  • 26, Oct 2024
  • #8

def f(p,c): for y,d in enumerate(open(p).readlines()): x=d.find(c) if x+1:return x,y

Некоторые отступы оставлены для удобства чтения, но они были удалены при подсчете символов. Итого около 1227. Или нет, забыл проблему. 1486 1465 символов.

from random import randrange as r def f(p):l=range(r(9));open(p,'w').writelines([''.join([chr(r(94)+33)for _ in l])+'\n'for _ in l])

1. MIPS ASM (55 символов)

/* Curry for Dinner f(x:function, y: function) -> g Where g is a function that will call y, n times; where n is the return value of x */ function f(x, y) { var g = function() { var n = x(); for (var i = 0; i < n; ++i) { y(); } }; return g; }

2. Схема (52 символа)

def f(t,s,n,p=-1): while n:p=t.find(s,p+1);n-=1 if p+1 else n return p

3. F# (39 символов)

testtesttest

4. Powershell (133 символа)

5. C++ (184 152 символа)

6. C# (291 282 символа)

"test" 3 a

7. Haskell (318 306 символов)

Я искал повод попробовать Haskell. Я думал, что поступил умно, сгенерировав список должностей с помощью комбинаций чисел, но с учетом количества символов я мог бы жестко запрограммировать эту чертову штуку. Ну что ж. Код ужасен, но писать его все равно было весело.

c n a

изменить: исправлено, поэтому он правильно возвращает минуты.

8. Луа (259 символов)

{*}:a;lligator
 

Igor_voyten


Рег
02 Jul, 2020

Тем
88

Постов
217

Баллов
717
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно

Lumtu.com © 2024