9 হোল চ্যালেঞ্জ [বন্ধ]


65

9 হোল চ্যালেঞ্জ

  • 9 কোড গল্ফিং বিভিন্ন অসুবিধা চ্যালেঞ্জ।
  • একাধিকবার একই ভাষা ব্যবহারের দণ্ড।
  • প্রশ্নটি পার্স, হোল চ্যাম্পিয়ন এবং ট্রফি বিজয়ীদের সাথে আপডেট করা হবে।

    এটি আমার কিছু বন্ধুদের সাথে আমার একটি প্রতিযোগিতা থেকে এসেছে, এটি সাধারণ ফর্ম্যাট নয়, তবে আমি আশা করি আপনারা কেউ কেউ এটির বিভিন্ন স্পিনের প্রশংসা করবেন। চ্যালেঞ্জ, নিয়ম এবং ট্রফি নীচে।

গর্ত

  1. গ্রিনওয়ে (24)

    f(c:string, n:integer)
    nউদাহরণ সহ একটি লাইন মুদ্রণ করে c

  2. রাফ কোথাও (73)

    f(t:string, s:string, n:integer) -> i
    ইন ইন দৃষ্টান্তের iসূচকটি কোথায় ।nthst

  3. রাতের খাবারের জন্য কারি (6235)

    f(x:function, y: function) -> g যেখানে gএকটি ফাংশন যা কল করবে y, nবার; যেখানে nফেরতের মানx

  4. স্কিউ (92)

    f(p:string) ফাইল করতে লিখেন pএবং এলোমেলো আকারের আয়তক্ষেত্রটি এলোমেলো অক্ষর (ascii) দিয়ে পূর্ণ করে।

  5. ট্রেজার হান্ট (75)

    f(p:string, c:char) -> (x, y) ফাইল পড়ায় pএতে প্রতীকগুলির একটি গ্রিড রয়েছে এবং গ্রিডের মধ্যে সেই চিহ্নের প্রথম উদাহরণটির xএবং yস্থানাঙ্কগুলি প্রদান করে, ধরে নিই এটি বিদ্যমান।

  6. কোয়াই নদীর উপর ব্রিজ (179)

    f(l:list[int]) এর জন্য পার্থক্য সেতুর চিত্রগুলি মুদ্রণ করে l। যেমন[1,7,3,17,1]

     /+6\ /-4\ /+14\  /-16\
    1    7    3     17     1
    

    উপরের সংখ্যার আকার অনুযায়ী ফাঁকা স্থান তৈরি করা হয়েছে তা নিশ্চিত করুন। 3 ডিজিটের দীর্ঘ সংখ্যার জন্য আপনার নীচের লাইনের অঙ্কের মধ্যে 4 টি ফাঁকা স্থান প্রয়োজন।

    ক্যাচ: কোথাও না কোথাও, আপনার কোড অবশ্যই ট্রাউজার্স বানান করতে হবে (কমপক্ষে 1 টি অ-অক্ষরবিহীন ডিলিমিটার থাকতে হবে Eg যেমন tr(ou,se)(rs)

  7. আপনি গল্ফ খেলছেন যখন সময় উড়ে (1157)

    f(p:string) -> [h, m] ফাইল পড়ায় pযাতে অ্যানালগ ঘড়ির একটি ASCII প্রতিনিধিত্ব রয়েছে, যেখানে ঘন্টা হাতটি একটি লাইন এবং মিনিট দু'টি দ্বারা উপস্থাপিত হয়। দুটি উপাদান রয়েছে এমন একটি তালিকা আউটপুট করুন: ঘড়িতে দেখানো ঘন্টা এবং মিনিট। যদি কেবল একটি হাত দৃশ্যমান হয় তবে উভয় অবস্থানটিকে সেই অবস্থানের দিকে ধরুন।

    এখানে একটি হাতের জন্য সমস্ত সম্ভাব্য সংমিশ্রণ রয়েছে।

    \ | /
     \|/
    --o--
     /|\
    / | \
    

    এই অবস্থানগুলি যথাক্রমে (12, 1, 3, 5, 6, 7, 9, 11)। ধরুন যে ঘড়ির মুখের মধ্যে থাকা অন্যান্য অক্ষরগুলি ফাঁকা স্থান।

  8. কাষ্ঠ! ()

    f(p:string) -> b:boolean যেখানে পি হ'ল আস্কি বিল্ডিং সহ কোনও ফাইলের পথ। তাদের নীচে সাদা স্থানের ব্লকগুলি পড়ে যাবে। (স্ল্যাশ ব্যতীত, যদি তারা যেভাবে মুখোমুখি হয় তার বিপরীতে কোনও স্থিতিশীল অবরুদ্ধ থাকে তবে স্থানে থাকে)। বিল্ডিং যদি কাঠামোগতভাবে অবিচ্ছেদ্য ফিরতি সত্য হয়, অন্যথায় মিথ্যা ফিরিয়ে দিন। সমস্ত অ হোয়াইটস্পেস ব্লকগুলি শক্ত এবং স্ল্যাশ ছাড়া অন্য হিসাবে গণনা করা হয়, সেগুলি সব পড়ে।

    কাঠামোগতভাবে নিরাপদ

    ____
    |/\|
    |  |
    

    নিরাপদ না

    |__
      | 
      |
    

    নিরাপদ সংস্করণ

    |__
    \\| 
      |
    
  9. স্ল্যাকার নিউজ (218)

    f(s:string, r:string, p:string) হ্যাকার নিউজে শীর্ষ 20 গল্পের শিরোনাম পায় এবং এর সমস্ত দৃষ্টান্ত পরিবর্তন sকরে r, তারপরে একটি নতুন এইচটিএমএল ফাইলে নতুন শিরোনাম লেখেন p, যেখানে প্রতিটি শিরোনাম এইচ 1 উপাদানটির মধ্যে রয়েছে contained

    আউটপুট ফাইলটি এর মতো কিছু হওয়া উচিত

    <h1>Some title</h1></h1>Some other title</h1>...etc

    ধরা :

    • আপনি এইচএন এপিআই ব্যবহার করতে পারেন না।
    • আপনি রেজেক্স ব্যবহার করতে পারেন না।
    • আপনি আপনার কোডের কোথাও অ্যাঙ্গেল ব্রেস ব্যবহার করতে পারবেন না।

স্কোরিং

  • অক্ষর গণনা হল ফাংশনটির দৈর্ঘ্য যা সংকলন করবে এবং সঠিকভাবে চলবে। তবে আপনাকে এখনও আমদানি সহ পূর্ণ কোড জমা দিতে হবে।
  • আপনার জমা দেওয়ার প্রতিটি পুনরাবৃত্ত ভাষার জন্য 10% । (যেমন আপনি যদি 3 টি সমাধানের জন্য রুবি ব্যবহার করেন তবে আপনার চূড়ান্ত স্কোরটি 1.2 দ্বারা গুণিত হবে)। একই ভাষার গণনার বিভিন্ন সংস্করণ এখনও একই ভাষা হিসাবে গণনা করে।
  • প্রতিটি গর্তের সমান গড় স্কোর হবে।
  • আপনার উত্তরের একটি উত্তরে জমা দিন।
  • আপনার সামগ্রিক স্কোর হ'ল আপনার অক্ষর গণনা + আপনার ভাষার জরিমানা, তারপরে এটি বৃত্তাকার করুন।

ট্রফি

  • সোনার জ্যাকেট - ( @ এসপ্রেজিগ - 1290) সর্বনিম্ন স্কোর
  • শ্যুটার - ( @ এসপ্রেগিগ - 9) বেশিরভাগ ভাষা ব্যবহৃত হয়
  • বাঙ্কার - যে কোনও গর্তের উপরের স্কোর সবচেয়ে বেশি
  • একটি প্লেনে সাপ - ( @ অ্যাস্কসইনওয়ে - 1727) একক সমাধানে সর্বাধিক পাইথন চরিত্র জমা
  • ভাল পার্টস - ( @ এস্কসএইওয়ে - 255) একক সমাধানে সর্বাধিক জেএস অক্ষর গণনা
  • শাকি স্টিভ - সংক্ষিপ্ততম সমাধান যা ইন্টারফেস ব্যবহার করে
  • আপনি এখানে রাউন্ড থেকে নেই - সংক্ষিপ্ততম উইকিপিডিয়া পৃষ্ঠাতে যে ভাষার সংক্ষিপ্ততম অনন্য ভাষা সমাধান রয়েছে।
  • হ্যাপি গিলমুর - ( @ অ্যাস্কসইনওয়ে - ৩১) সংক্ষিপ্ত সমাধান যা কোডে 'অলিগ্রেটার ' শব্দটি রয়েছে।
  • ইউনিসাইক্লিং বামন যাদু - আপনার 9 টি জমা দেওয়ার উত্স ফাইলগুলির ডিফল্ট এক্সটেনশনগুলি অক্সফোর্ড অভিধানের কোনও শব্দের একটি নিখুঁত অ্যানগ্রাম।

একবার আপনি সমস্ত 9 টি গর্ত শেষ করার পরে আপনি কেবল ট্রফির জন্য যোগ্য


জমা

  1. @ এসপ্রিগিগ 1290
  2. @Firefly 1320
  3. @grc 1395
  4. @ ট্রেভর এম 1465
  5. @ সি গিয়ারহার্ট 1654
  6. @ গুয় সিরটন 1719
  7. @ এস্কসএএনওয়ে 4651

2
@ অ্যানারটন <এবং>
ড্যান প্রিন্স

1
একটি অ্যানালগ ঘড়িতে প্রতিটি হাতের জন্য 12 টি অবস্থান রয়েছে তবে আপনি কেবল আমাদের 8 দিন that কীভাবে এটি কাজ করে?
কেভিন

1
@ ড্যানপ্রিন্স আপনি কি পজিশনটি /1 টা বা 2 টা বাজে উল্লেখ করতে চান ? (এবং একইভাবে সমস্ত
ত্রিভুজগুলির জন্য

1
@ অ্যানারটন 1/5, 5/25, 7/35, 11/55
ড্যান প্রিন্স

2
স্কোরিংয়ের উদ্দেশ্যে কোনও ভাষার বিভিন্ন সংস্করণ বা স্বাদগুলি কি "আলাদা" হিসাবে বিবেচিত হবে? যেমন পাইথন 2 বনাম পাইথন 3? ভিজ্যুয়াল বেসিক বনাম ভিবি.নেট বনাম ভিবিএস স্ক্রিপ্ট? সুপারসেটস বা সি ভার্সেস সি ++ এর মতো কাছাকাছি সুপারস্টারগুলির সম্পর্কে কীভাবে? পেডেন্ট্রি জন্য দুঃখিত, কিন্তু এটি কোড-গল্ফ! :-)
ড্যারেন স্টোন

উত্তর:


11

স্কোর: 4651

2907 + 60% জরিমানা

1. গল্ফস্ক্রিপ্ট - 14 টি অক্ষর

{*}:a;lligator

ব্যবহার: c n aযেমন "test" 3 a->testtesttest

তারকা শুভ গিলমুর

2. পাইথন - 72 টি অক্ষর

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. জাভাস্ক্রিপ্ট - 255 অক্ষর

/*
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;
}

তারকাবাঙ্কার তারকাগুড পার্টস

4. পাইথন - 132 টি অক্ষর

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])

5. পাইথন - 89 টি অক্ষর

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

6. পাইথন - 189 টি অক্ষর

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

7. পাইথন - 1727 টি অক্ষর

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]

তারকা একটি প্লেনে সাপ

8. পাইথন - 226 টি অক্ষর

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

9. পাইথন - 203 টি অক্ষর

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]

"#Alligator" মন্তব্যটি # 1 কোডটির সাথে কী করবে? এটি কোনও কারণে শব্দ গণনায় অন্তর্ভুক্ত বলে মনে হচ্ছে।
ধারা

1
@ ধারা এটি হ্যাপি গিলমুর ট্রফির জন্য: "কোডে 'অলিগ্রেটার' শব্দটির সংক্ষিপ্ততম সমাধান"।
PhiNotPi

# 9 অ্যাঙ্গেল ব্রেসগুলি ব্যবহার করে ( i<i<42), অথবা আপনি কেবল অপারেটর হিসাবে তাদের ব্যবহার করার সময় পর্যন্ত তাদের অনুমতি দেওয়া হচ্ছে?
ক্রিস্টোফার ক্রিউটজিগ

নিখুঁত ধন্যবাদ
জিজ্ঞাসা করুন যাই হোক

7

স্কোর: 1320

এই স্কোরটি উন্নত করার জন্য আমার অনেক কিছু করার আছে ... ওহ ভাল, কমপক্ষে আমি বারবার ভাষার শাস্তি এড়িয়ে চললাম। :-)

1. পাইথন (21 টি অক্ষর)

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

"সুস্পষ্ট" সমাধান।

2. ইসমাস্ক্রিপ্ট 6 (47 টি অক্ষর)

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

এর আগে স্ট্রিংয়ের দৈর্ঘ্য গণনা করে কিছুটা অপ্রচলিত উপায়ে সূচকটি সন্ধান করে।

৩. জে (১২ টি চর)

f=:2 :'v^:u'

অন্তর্নির্মিত সংমিশ্রণটি ^:একটি শক্তিতে একটি ফাংশন উত্থাপন করে (অর্থাত কোনও ফাংশনকে প্রদত্ত সংখ্যার পুনরাবৃত্তি করে)। যে f^:3 y = f (f (f y))),। যাইহোক, এটি পূর্ণসংখ্যার চেয়ে অ্যালসগুলিতে গ্রহণযোগ্য ক্রিয়াকলাপের ওভারলোডড, এই ক্ষেত্রে এটি পুনরাবৃত্তির সংখ্যা পাওয়ার জন্য ইনপুটটিতে ফাংশনটি চালায় runs দুর্ভাগ্যক্রমে আমাদের কাজের জন্য অপারেটসগুলি ফ্লিপ করতে হবে, অন্যথায় আমাদের কাছে কন্সাইস উত্তর হবে f=:^:

4. সি (95 অক্ষর)

#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);}

এই টাস্কটি ব্যাখ্যা এবং অপব্যবহারের জন্য বেশ খানিকটা জায়গা ছেড়ে দিয়েছে: কেবল একটি এলোমেলো মুদ্রণযোগ্য ASCII চরিত্রটি আউটপুট করা এবং এটি সেট {1 from থেকে মাত্রাযুক্ত এলোমেলো-মাত্রিক আয়তক্ষেত্রটি বলা ঠিক কি? সম্ভবত না. যাইহোক, আমি সরল সাথে গিয়েছিলাম rand()কিন্তু বাস্তবে আপনি সম্ভবত যুক্ত %9করতে চান বা আপনি এটি পরীক্ষা করতে চান তবে কিছু। আমার লিনাক্স বাক্সে ফাইলটি লেখার জন্য ফাইলটি ফ্লাশ করতে হয়নি (আমার ধারণা এটি প্রোগ্রামের প্রস্থানের সময় এটি স্বয়ংক্রিয়ভাবে প্রবাহিত হবে) তবে আমি নিশ্চিত যে আপনি এটি মানক-অনুবর্তী হতে ফ্লাশ করতে হবে, তাই অনুভব করুন fflush(f);এখানে গণনা যোগ বিনামূল্যে ।

৫. হাস্কেল (১০০ টি চর)

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

আমি সারি এবং কলামটি (বিমূর্ত h) সন্ধানের মধ্যে পুনরাবৃত্তি প্যাটার্নটি পছন্দ করি ।

6. লুয়া (261 অক্ষর)

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

পার্থক্য গণনা করার জন্য একাধিক রিটার্ন মান এবং পুনরাবৃত্তি ব্যবহার করে। নমুনা আউটপুটটি হুবহু মিলিয়ে নিতে আমার কয়েকটি অক্ষর ব্যয় হয়েছে (সর্বত্র জায়গাগুলির সঠিক পরিমাণ যুক্ত করা)।

7. যান (307 অক্ষর)

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}}

সম্ভবত আরও অনেক গল্ফ করা যেতে পারে; আমি গো জানি না।

৮. কফিস্ক্রিপ্ট (+ নোড.জেএস) (২২৩ টি অক্ষর)

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

আমার কাছে ইতিমধ্যে জেএস রয়েছে বলে কিছুটা সস্তা শট। আচ্ছা ভালো. উত্তরটি নির্দেশ করার জন্য একটি মিথ্যা মান (যথা, undefined) বা সত্যবাদী মান (যথা 1) প্রদান করে।

9. বাশ (254 অক্ষর)

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
}

(পাঠযোগ্যতার জন্য পাইপগুলির পরে নিউলাইনগুলি lines) শেলটি দিয়ে সীমাবদ্ধতার চারপাশে কাজ করা মজাদার ছিল। আমি বুঝতে পারি সম্ভবত আরও ভাল উপায় আছে $2,$4,$6,..., তবে এটিই ছিল আমি যাই হোক না কেন।


1
চরিত্র গণনায় আপনি আমদানি / অন্তর্ভুক্ত না করার কোনও কারণ আছে কি? অন্যথায়, দুর্দান্ত কাজ!
grc

1
হ্যাঁ, আমি এটি উল্লেখ করতে ভুলে গেছি। যেহেতু প্রশ্নটির উপর জোর দেওয়া হয়েছে যে "আপনার কেবলমাত্র ফাংশনটি জমা দিতে হবে" আমি ভাবছিলাম যে স্ট্যান্ডার্ড লাইব্রেরিগুলি সহ ব্যয়ের বিষয়টি উপেক্ষা করা উপযুক্ত হবে।
ফায়ারফ্লাই

গর্ত 1f=str.__mul__
সাপ এবং কফির জন্য

দুর্ভাগ্যক্রমে, @ স্নেকস্যান্ডকফি যা স্টাডাউটে মুদ্রণ করে না। :(
ফ্লাই

5

স্কোর: 1,394.4

996 অক্ষর + 40% জরিমানা

1. গ্রিনওয়ে - হাস্কেল, 19 টি অক্ষর

f c n=replicate n c

ব্যবহার:

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

2. রুক্ষ - পিএইচপি, 72 টি অক্ষর

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

3. কারি - জাভাস্ক্রিপ্ট 1.8, 45 অক্ষর

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

4. বানান - জে, 43 অক্ষর

f=:3 :'((33+?(1+?2#100)$1#93){a.)fwrites y'

ব্যবহার:

f 'file.txt'

5. ট্রেজার - জে, 64 টি অক্ষর rs

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

ব্যবহার:

'file.txt' f 'c'

6. সেতু - পাইথন, 166 অক্ষর cha

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])))

7. সময় - পাইথন, 205 অক্ষর

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)%12or 12
  z[a[2+l].count('-')]=3+6*l
 print[z[1]or z[2],z[2]*5%60]

ধরে নেওয়া লাইনগুলি পাঁচটি অক্ষর প্রশস্ত হতে স্থান প্যাডযুক্ত। দ্বিতীয় ইন্ডেন্টেশন স্তরের জন্য ট্যাবগুলি ব্যবহার করে।

8. টিম্বার - পাইথন, 190 টি অক্ষর

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))

9. স্ল্যাকার - পাইথন, 192 টি অক্ষর

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

Url সংক্ষিপ্ততর ধারণার জন্য টাইজয়েডকে ধন্যবাদ।


আপনার পাইথন দিয়ে খুব মুগ্ধ হয়েছে, শিখতে হবে প্রচুর কৌশল।
AsksAnyway

1
ধন্যবাদ চেক করতে ভুলবেন না এই যদি আপনি ইতিমধ্যেই না করে বাইরে।
grc

1
উম্ম, নিশ্চয় আপনার (1) জে-তে আছে, না? হতে পারে আপনি শিরোনাম / নমুনা রান আপডেট করতে ভুলে গেছেন।
ফায়ারফ্লাই

@ ফায়ারফ্লাই হ্যাঁ, আমার ভুল আমি স্কোরিং এবং ব্যবহার আপডেট করেছি তবে আসল সমাধানটি পরিবর্তন করতে ভুলে গিয়েছি।
grc

4

সম্পাদনা: ভাবুন আমি এটিকে কেবল এইভাবে জমা করব: মোট 1290, কোনও ভাষার পুনরাবৃত্তি হবে না।

গ্রিনওয়ে, সি # 53

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

আমি ভাষাটি # 1 এবং # 9 দিয়ে অদলবদল করার সিদ্ধান্ত নিয়েছি। শত শত পরে এখানে মোটামুটি 30 এর মূল্য।

দ্য রাফের কোথাও, পাইথন 59

খুব সহজেই কোনও সহজ সমস্যায় আমার এত ভাল ভাষা ব্যবহার করা উচিত হয়নি। এছাড়াও, কীভাবে এটি কোনও ভাষার সূচী ফাংশনগুলির পরিবারের কোনও অংশ নয়? আমি সর্বদা এটি প্রয়োজন বলে মনে হচ্ছে ...

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

রাতের খাবারের জন্য কারি, লিস্প 61

কলেজে এক সপ্তাহের পর থেকে আমি লিস্পের ছোঁয়া পাইনি ....

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

স্কো, বাশ / শেল 102 ব্যবহার করে

আমার বাশ-ফু কখনই শুরু করা ভাল ছিল না। আমি এটির সাথে পরে গলগল করব। বিটিডাব্লু আপনি যদি এটি দ্রুত শেষ করতে চান তবে এটিটিকে / dev / urandom এ স্যুইচ করুন।

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

ট্রেজার হান্ট, সি 113

সম্ভবত আরও একটি সি বান্ধব সমস্যা। আমি আর্গুমেন্ট হিসাবে একটি রিটার্ন অ্যারে পয়েন্টার গ্রহণ হিসাবে "দুটি পূর্ণসংখ্যা ফিরে" ব্যাখ্যা করি। সতর্কবাণী? কি সতর্কতা? কোন ইনট * একটি ফাইল * = পি এর মতোই দুর্দান্ত।

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;}

কাওয়াই নদীর উপর ব্রিজ, পার্ল 207

এটি লেখার সময় আমি পার্ল শিখতে শুরু করি। (আগের তুলনায় আরও দেরী!) আমি রেজেক্স বীরত্বগুলি করতে ইচ্ছুক হয়ে এলাম, তাই আমি সেতুর উভয় স্তর একসাথে দুটি স্ট্রিং তৈরি করি, তারপরে দুটি পৃথক লাইন গঠনের জন্য স্থান প্রতিস্থাপনের সাথে রেজিক্সগুলি ব্যবহার করি।

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}

আপনি যখন গল্ফ খেলছেন তখন সময় উড়ে চলেছে, জাভা 297

আপনি কেবল জাভা টর্স তৈরি করতে এত কিছু করতে পারেন ... এটি ধরে নেয় ঘড়িটি স্থান প্যাডযুক্ত তাই প্রতিটি লাইন 5 স্পেস দীর্ঘ।

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};}

কাষ্ঠ! জাভাস্ক্রিপ্ট 201

এটি ক্রোমের কনসোলে চলে। আমি অন্য কোথাও কোনও গ্যারান্টি নেই = পি। এটির জন্য লাইনগুলি দীর্ঘতম রেখার দৈর্ঘ্যের মধ্যে স্পেস প্যাড করা দরকার। আমি মনে করি এটি ASCII শিল্পের একটি যুক্তিসঙ্গত অনুরোধ।

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}

স্ল্যাকার নিউজ, রুবি 197

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

এটি কেবল একটি দুর্দান্ত উত্তরই নয়, এটি একটি দুর্দান্ত পঠনও তৈরি করে। সাবাশ!
ড্যান প্রিন্স

ধন্যবাদ, আমি কল্পনা করি যে এটি রুবি এবং সি # কে অদলবদল করে এখন কিছুটা কম আকর্ষণীয়। .NET এর পাগল স্ট্রিং বিভক্তকরণের উপর আর কোনও
রেটিং নেই

4

কিছুটা ভাষা স্পর্শ করার জন্য কিছুটা আনন্দ পেলাম ...

অপ্রয়োজনীয় স্পেস / নিউলাইনগুলি সরিয়ে দেওয়ার পরে প্রাপ্ত চরিত্রের গণনাগুলি কিন্তু জমা দেওয়ার বিষয়টি বেশিরভাগ ক্ষেত্রেই পঠনযোগ্য। যেহেতু প্রশ্নটি ফাংশন এবং প্রোগ্রামগুলির মিশ্রণ তাই আমি কেবল যেখানে প্রয়োজন সেখানে ফাংশনটির দেহটি অন্তর্ভুক্ত করেছি ... এছাড়াও কিছুটা স্বাধীনতা "রিটার্ন" এর অর্থ কী তা নিয়েছে ...

মোট 19 1719

1- পাইথন (20 ডলার )

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

2- সি (109 ডলার)

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);}

পঠনযোগ্য সংস্করণ:

#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);
}

3- জাভাস্ক্রিপ্ট (~ 56)

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

4- রেজেক্স (136 ডলার )

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

5- স্কালা (290 ডলার)

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)
}

6- সি ++ (355 ডলার)

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;
}

7- যান (301 ডলার)

নোট করুন এটির জন্য ঘড়িটি প্যাড করা প্রয়োজন (যেমন সমস্ত লাইন একই দৈর্ঘ্য)।

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
}

8- রুবি (259 ডলার)

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

9- বাশ / ইউনিক্স হ্যাক (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

1
দুর্দান্ত, তবে আপনার # 9 এঙ্গিত ধনুর্বন্ধনী ব্যবহার করে, যা সেই গর্তটির বিধিগুলির বিরুদ্ধে।
রিক স্মিথ-উন্না

@ রিচার্ডস্মিথ: ধন্যবাদ ... আমাকে এটি ঠিক করতে হবে।
গাই স্যারটন

1
গর্ত # 3 এ সাবধানতা অবলম্বন করে, কোনও গ্যারান্টি নেই যে এক্স () প্রতিটি ফাংশন কলে একই নম্বর ফেরত দেবে!
টাইজয়েড

@ টাইজয়েড: আমি এটি ক্যাপচারের বিষয়ে বিবেচনা করছিলাম ... আপনি আমার ধারণা / অনুমানের ব্যাখ্যাটি সঠিক বলেছেন।
গাই স্যারটন

2

গল্ফের জন্য এখানে আসলেই নয়, তবে এখানে কিছু টিসিএল রয়েছে, যেহেতু ভাষার আরও ভালবাসা দরকার:

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
}

বেশিরভাগই অনির্যুক্ত because উপভোগ করুন!


2

এর মধ্যে কেবল ২/৩ টি কাজ করার সময় ছিল। আপনি তাদের একটি ফাংশন আকারে চাইছেন বলে মনে করছেন এক লাইনার নয়। সুতরাং এই সমস্ত ফাংশন। ফাংশনের নীচে টেস্টিং কোড। পার্লে

অভিজাত পথ:

sub f{print$_[0]x$_[1]}

#test
&f("abc",5);

রাফ:

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);

কারি:

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);

বমি:

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

#test
&f('/tmp/t');

ট্রেজার:

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);

আমি আগামীকাল 6-9 এ কাজ করব।


2

WIP। দ্রষ্টব্য, চরিত্রের সংখ্যাগুলি কারণে '\n'এবং বন্ধ হতে পারেwc

[1 গ্রিনওয়ে] মাইন্ডফ * সিকে, 54 টি অক্ষর

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

ব্যবহার: কোডটি লেখা হয়ে গেলে আপনার স্ট্রিংটি ইনপুট করুন এবং আপনার স্ট্রিংটি একটি ^ a (সিটিআর + এ) দিয়ে শেষ করুন, তারপরে তত্ক্ষণাত্ আপনার নম্বরটি প্রবেশ করুন।

একটি সতর্কতামূলক: প্রদত্ত সংখ্যাটি কেবল 0-9 হতে হবে (আপনি যদি বৃহত্তর একটিকে চান তবে আপনার ইনপুট যে অক্ষর হিসাবে ব্যবহৃত হবে তার ascii মান-48 ব্যবহার করা হবে n)

স্ক্রীনশট:

স্ক্রিনশট

[3 রাতের খাবারের জন্য কারি] জাভাস্ক্রিপ্ট, 59 টি অক্ষর

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

[4 স্কো] BASH, 56 টি অক্ষর

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

[আপনি গল্ফ খেলছেন যখন Time বার উড়ে] সি, ৩৩৪ টি অক্ষর (ম্যাক্রো সংজ্ঞা সহ ৪১১)

#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;}

দ্রষ্টব্য: এই ফাংশনটি দ্বিমাত্রিক পূর্ণসংখ্যার অ্যারেটিতে একটি পয়েন্টার দেয়, এমনভাবে ফর্ম্যাট করা হয়: {3, 55} (3 ঘন্টার একটি ঘড়ির অবস্থানের জন্য, 11 মিনিটে)

[9 স্ল্যাকার নিউজ] পিএইচপি, 246 টি অক্ষর

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");}}

BASH + AWK, 218 টি অক্ষরে আলাদা / আসল বাস্তবায়ন

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";};

2

1654

1. গ্রিনওয়ে (হাস্কেল - 37)

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

2. কোথাও রাফ (ম্যাথমেটিকা ​​- 43)

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

3. রাতের খাবারের জন্য কারি (লিস্প - 58)

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

4. স্কিউ (মতলব / অক্টাভা - 83)

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

5. ট্রেজার হান্ট (সি - 176)

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;}

K. কোয়াই নদীর উপর ব্রিজ (রুবি - 192)

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

7. আপনি যখন গল্ফ খেলছেন তখন সময় উড়ে যায় (নোড.জেএস - 406)

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];});}

8. কাঠ! (যান - 329)

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
}

9. স্লিকার নিউজ (পাইথন - 330)

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'))

1

আমি একটা জোচ্চোর নই & আমি সব 9 গর্ত প্লে করা হয় ... এখনো । তবুও, এখানে আমার গর্ত 8, পার্ল (149 চর) এর "টিম্বার" সমাধান।

আমার সহকর্মীদের মধ্যে একজন কাজের প্রতিদ্বন্দ্বিতা হিসাবে এটিকে প্রকাশ করেছেন। আমরা এটি নিয়ে মজা করছি, বিশেষত আমার সাথে, যেহেতু আমার এখন পর্যন্ত সবচেয়ে কম সমান সমাধান রয়েছে!

আমাদের বিধিগুলি ছিল যে এটি স্ট্যান্ড একা লিপি হতে হবে যা আউটপুট হয়েছিল trueবা তার falseপরে একটি নতুন লাইন তৈরি হয়েছিল STDOUTএবং কোনও "শেবাং" ঠিক ছিল না।

নীচে "মিনিফাইড" সমাধান রয়েছে। আমি একইটির একটি " সংক্ষেপ "ও রেখেছি যাতে আমার পদ্ধতির পিছনে যুক্তির ব্যাখ্যা -বিহীন" মিনফায়েড "কোড এবং (প্রায়শই দীর্ঘ নির্যাতনমূলকভাবে) যুক্ত থাকে।


$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
'

0

আমি প্রতিযোগিতার নিয়ম মেহ অনুযায়ী এটি পরিবর্তন করতে খুব অলস, কিন্তু এটি ঠিক কাজ করে ...

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')

0

প্রথম কোড গল্ফ! (এখনো কাজ চলছে...)

1. গ্রিনওয়ে

ভাষা: পাইথন 3.2.3
ফাইলের আকার: 23 বাইট
কোড:

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

3. রাতের খাবারের জন্য কারি

ভাষা: পাইথন ৩.২.৩
ফাইলের আকার: by৪ বাইট
কোড:

def f(x,y):
    def g():
        for i in [1]*x(): y()
    return g

যদি আমি সঠিকভাবে বুঝতে পারি তবে একই ভাষা দু'বার ব্যবহার করার জন্য আপনাকে পয়েন্টযুক্ত করতে হবে। আপনি যদি এটি কেবল মজাদার জন্য করছেন তবে কোনও সমস্যা নেই।
হোশেচ 250

@ user2509848 আমি 9 গল্ফ-সক্ষম ভাষা জানি না, তাই আমাকে কিছুটা ডক করতে হবে। :( যদিও মাথা আপ করার জন্য ধন্যবাদ!
এপ্রিন্টন

রুবি, পার্ল, গল্ফস্ক্রিপ্ট এবং ম্যাথমেটিকা ​​প্রায়শই বিজয়ী হয়
Hosch250

কিছু জাভা এবং কম পাইথন ৩.২.৩ সহ আমি কেবল সি ++ জানি। এইচটিএমএল এবং সিএসএস ব্যতীত আর কিছুই নয় (যা যাইহোক (সিএসএস) ব্যবহার করা যায় না)।
হোশেচ 250

0

এখানে আরও একটি কাজ চলছে, এবং আমি কাজ করছি তাই আমি পরে ফিরে যাব।

গ্রিনওয়ে ইন রুবি (১৪ টি অক্ষর, ২৪ জন # এলিগেটর সহ ), কল করুনf.(c, n)

f=->c,n{p c*n}#alligator

স্ক্রিনশট

অভিজাত পথ

রাফ ইন কফিস্ক্রিপ্টের কোথাও (38 টি অক্ষর)

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

স্ক্রিনশট

কোথাও রাফ

জাভাস্ক্রিপ্টে রাতের খাবারের জন্য কারি (৫ characters টি অক্ষর)

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

স্ক্রিনশট

রাতের খাবারের জন্য কারি

পিএইচপি (111 টি অক্ষর) এ স্ক্য

এটি short_open_tagপিএইচপি কনফিগারেশন ফাইল সক্ষম করা প্রয়োজন। অন্যথায় উদ্বোধনী ডিলিমিটারটি হওয়া উচিত <?php, @চিহ্নগুলিকে উদ্ধৃতিগুলিতে PHP_NOTICEআবদ্ধ করা এড়ানোর randজন্য এবং স্পষ্টভাবে $sভেরিয়েবলটি প্রকাশ না করার জন্য নষ্ট হওয়া ত্রুটিগুলি নিঃশব্দ করতে ব্যবহৃত হয় । এটি উভয় অক্ষের 4 থেকে 30 অক্ষরের মধ্যে ascii অক্ষরের একটি বর্গ গ্রিড তৈরি করবে।

<? @$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);

স্ক্রিনশট

বমি


আপনার টার্মিনালটি কী ব্যবহার করছে?
আলেকজান্ডার ক্রেগস

0

1. গ্রিনওয়ে (পাইথন 2: 20)

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

উদাহরণ ইনপুট: a("asdf",3)-> স্ট্রিং ( asdfasdfasdf)

2. কোথাও রাফ (পাইথন 2: 47)

def b(t,s,n):return len(s.join(t.split(s)[:n]))

উদাহরণ ইনপুট: b("1,2,333,4,5,6",",",3)-> ইনট (7)

3. রাতের খাবারের জন্য কারি (জাভাস্ক্রিপ্ট: 61)

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

উদাহরণ ইনপুট: function z(){ return 3; }; function y(){ console.log( '1' ) }; myfunc = c(z,y); myfunc();-> string(1)কনসোলে ... 3 বার লগ হয়।

চশমা অনুসারে, cএকটি ফাংশন দেয় এবং আসলে সেই ফাংশনটি নিজেই চালায় না।

4. স্কিউ (সি ++ 11: 171)

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

আসলে এটি পরীক্ষিত নয়, কাজ করা উচিত।


0

পাঠ্যযোগ্যতার জন্য কিছু ইনডেন্টেশন অক্ষত রয়েছে তবে অক্ষর গণনা করার সময় এটি নেওয়া হয়েছিল। মোট 1227 কাছাকাছি । বা না, আমি একটি সমস্যা ভুলে গেছি। 1486 1465 টি অক্ষর।

1. এমআইপিএস এএসএম (55 টি চর)

#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

২. স্কিম (৫২ টি চর)

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

3. এফ # (39 টি অক্ষর)

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

৪. পাওয়ারশেল (১৩৩ টি অক্ষর)

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

5. সি ++ ( 184 152 অক্ষর)

#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;}

6. সি # ( 291 282 চর)

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);
}

Has. হাস্কেল ( ৩১৮ ৩০6 টি চর)

আমি হাস্কেল চেষ্টা করার জন্য একটি অজুহাত খুঁজছিলাম। আমি ভেবেছিলাম সংখ্যার সংমিশ্রণের মাধ্যমে পজিশনের তালিকা তৈরি করে আমি চতুর, তবে যতটা অক্ষর লেগেছে তার সাথে আমি জঘন্য জিনিসকে খুব শক্ত করে কোড করতে পারতাম। আচ্ছা ভালো. কোডটি অত্যাচারজনক তবে যাইহোক লিখতে মজা লাগছিল।

সম্পাদনা: স্থির তাই এটি সঠিকভাবে মিনিট ফিরে আসে।

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

৮. লুয়া (২৫৯ টি চর)

আমি অবাক হয়ে জানতে পারি যে স্ট্রিংগুলি অ্যারে স্টাইল সূচকে সমর্থন করে না, তাই আমাকে সাব উপর নির্ভর করতে হয়েছিল।

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

9. পাইথন (187 অক্ষর)

ইউআরএল সংক্ষিপ্ত করার জন্য জিআরসি / টাইরয়েডকে ধন্যবাদ।

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:]]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.