কোড বিলিয়ার্ডস (লেভেনস্টাইন গল্ফ)


24

আপনার প্রয়োজন অনুযায়ী যে কোনও ক্রমানুসারে নিম্নলিখিত নয়টি কার্য সম্পাদন করে এমন প্রোগ্রাম লিখতে আপনাকে অবশ্যই একটি ভাষা ব্যবহার করতে হবে ।

  • বেস 10 থেকে বেস 36 এ ইনপুটযুক্ত নম্বর রূপান্তর করুন।
    • নমুনা ইনপুট: 1000
    • নমুনা আউটপুট: RS(আউটপুট অবশ্যই আপার কেস হতে হবে)
  • প্রতিটি অক্ষরকে তার বেস 10 দশমিক ASCII কোডগুলিতে স্ট্রিংয়ে রূপান্তর করুন এবং একসাথে কোডগুলি সংযুক্ত কোডগুলি মুদ্রণ করুন।
    • নমুনা ইনপুট: Scrambled 3GG5
    • নমুনা আউটপুট: 839911497109981081011002051717153
  • 1738 দ্বারা কোনও ইনপুটযুক্ত সংখ্যা বিভাজ্য কিনা তা নির্ধারণ করুন।
    • সত্যবাদী মানটি যদি তা হয় এবং মিথ্যা মান না হয় তবে তা প্রদান করুন।
  • কোনও স্ট্রিংয়ের মধ্যে বর্ণ রয়েছে কিনা তা নির্ধারণ করুন q
    • সত্যবাদী মানটি যদি তা করে এবং মিথ্যা মান না দেয় তবে তা ফিরিয়ে দিন।
  • অক্ষরের একটি ইনপুটযুক্ত স্ট্রিংটি +1 এর সিজার সাইফারের সাথে এনকোড করুন।
    • কেস সংরক্ষণ করতে হবে। অক্ষরবিহীন অক্ষরগুলি কোনও পরিবর্তন ছাড়াই মুদ্রণ করা হবে।
    • নমুনা ইনপুট: Good morning, World!
    • নমুনা আউটপুট: Hppe npsojoh, Xpsme!
  • একটি সংখ্যার মূল কারণগুলির যোগফল সন্ধান করুন এবং মুদ্রণ করুন।
    • নমুনা ইনপুট: 1320
    • নমুনা আউটপুট: 21
  • মুদ্রণ PPCG
  • nভাগ করা যায় এমন প্রথম ধনাত্মক পূর্ণসংখ্যাগুলি মুদ্রণ করুন floor(sqrt(n))
    • n একটি ইনপুটযুক্ত পূর্ণসংখ্যা।
  • প্রতিটি oএবং Oইনপুটযুক্ত স্ট্রিংয়ের সাথে প্রতিস্থাপন করুন
    • নমুনা ইনপুট: Onomatopoeia
    • নমুনা আউটপুট: ಠnಠmatಠpಠeia

আপনি লক্ষ্য করেছেন যে এই চ্যালেঞ্জটি Code Billiards, না Code Golf। এই চ্যালেঞ্জের উদ্দেশ্য, বিলিয়ার্ডগুলির মতো, আপনার কোড সেট আপ করা যাতে এটি পরবর্তী চ্যালেঞ্জের জন্য কেবল সামান্য পরিবর্তন করা যায়। এজন্য আপনার প্রোগ্রামগুলিকে উপরের কাজগুলি যাতে না হয় তা সমাধান করতে হবে।

আপনার স্কোর নিম্নলিখিত হিসাবে নির্ধারিত হয়

  • আপনার স্কোরগুলি 1আপনার প্রোগ্রামগুলিতে প্রতিটি বাইট দ্বারা বেড়ে যায় ।
  • যদি আপনার floor(n^(1.5))পরপর দুটি প্রোগ্রামের লেভেনস্টেইনের দূরত্ব থাকে তবে আপনার স্কোর বেড়ে যায় n। উদাহরণস্বরূপ, যদি আপনার প্রথম প্রোগ্রাম potatoএবং আপনার দ্বিতীয় প্রোগ্রাম taters, আপনার স্কোর 12 বাইট 12 দ্বারা এবং দ্বারা যায় 11= floor(5^(1.5))5 Levenshtein দূরত্ব জন্য।

এই চ্যালেঞ্জের উদ্দেশ্য সমস্ত নয়টি প্রোগ্রাম লেখার পরে যথাসম্ভব কম স্কোর হওয়া have স্ট্যান্ডার্ড সিজি বিধি প্রযোজ্য।


লিডারবোর্ডটি দেখতে, "কোড স্নিপেট দেখান" ক্লিক করুন, নীচে স্ক্রোল করুন এবং "কোড স্নিপেট চালান" ক্লিক করুন। অপ্টিমাইজার দ্বারা নির্মিত স্নিপেট।


1
ওহো ... গত রাতে আমার কাছে আক্ষরিক অর্থেই চ্যালেঞ্জের জন্য একই ধারণা ছিল। কত অদ্ভুত ...
ETH প্রোডাকশনগুলি

@ এইচটি প্রডাকশনগুলি গত রাতেও আমি ধারণাটি পেয়েছি এবং স্যান্ডবক্সে এটি সম্পর্কে কিছু লিখেছিলাম। আপনার ধারণা কি সেখান থেকে এসেছিল? যদি তা না হয় তবে কাকতালীয় ঘটনাটি মজার।
আর্কটরাস

1
না, আমি বিছানায় যাওয়ার সময় আমার ধারণা ছিল। আপনার পোস্টটি মোটেও দেখেনি! আমার ধারণা, এটি "কোড-গল্ফ
মাইন্ডস

এর লেভেনস্টাইন দূরত্ব কী এবং a? এটি 1 ( 1 চর হিসাবে গণনা করা) বা 2 (কারণ আসলে 2 বাইট)?
জাকুবে

1
@ মেগো এখানে একটি দ্রুত অ্যালগরিদম। :) এছাড়াও, আপনি এটি নাও দেখে থাকতে পারেন, তবে আমার উত্তরে একটি স্নিপেট যা স্বয়ংক্রিয়ভাবে সর্বোত্তম ক্রমে প্রোগ্রামগুলি সাজিয়ে তোলে এবং এটি সুপার-ফাস্ট অ্যালগরিদমও ব্যবহার করে।
ইটিএইচ প্রোডাকশনস

উত্তর:


8

জাপট , 886 866 766 725 688 669

5 এবং 6 টি কার্য খুনি। এগুলি সম্পন্ন করার জন্য খুব ছোট উপায় রয়েছে। আমি মনে করি লেভেনস্টাইন দূরত্বগুলি এখনও কমানো যেতে পারে।

  • কার্য 3 (বিভাজন): !(U%#ۊ
    7 বাইট (আরবিক চর ম্যাসেজ আপ প্রান্তিককরণ)
  • টাস্ক 4 ('কিউ' চেক): U!=Uk'q7 বাইট, ডিস 11
  • টাস্ক 1 (বেস রূপান্তর): Us36 u6 বাইট, ডিস্ট 14
  • টাস্ক 2 (এএসসিআইআই কোডস): UmX=>Xc7 বাইট, ডিস্ট 14
  • কার্য 7 (নিজের জন্য দেখুন): "PPCG"6 বাইট, ডিস্ট 18
  • কার্য 9 (ಠ প্রতিস্থাপন): Ur"[Oo]",'ಠ13 বাইট, ডিস 27 27
  • টাস্ক 8 (ফ্লোর (স্কয়ার্ট (এন)): X=Uq f;XoU*X+1,X16 বাইট, ডিস্ট 52
  • টাস্ক 6 (প্রধান ফ্যাক্টর যোগফল): 2oU fX=>2oX eY=>X%Y &&!(U%X)r(X,Y =>X+Y39 বাইট, ডিস 172
  • টাস্ক 5 (সিজার সাইফার): UmX=>128o mY=>Yd)a k'A i#Z,'A k'a i#z,'a gXc44 বাইট, ডিস 216

এখানে একটি স্নিপেট যা আপনাকে (একটির) আপনার প্রোগ্রামগুলি সাজানোর সবচেয়ে দক্ষ উপায়গুলি বলবে:

সঙ্গে Japt এর সর্বশেষ সংস্করণ (এই চ্যালেঞ্জ অ প্রতিদ্বন্দ্বী), সবচেয়ে কর্ম খাটো পাবেন:

  • টাস্ক 1: s36 u5 বাইট
  • টাস্ক 2: mc2 বাইট
  • কার্য 3: v#ۊ
    4 বাইট
  • টাস্ক 4: oq2 বাইট
  • টাস্ক 5: ;B±B+C²UrF,@Bg1+BbX19 বাইট
  • টাস্ক 6: k â x5 বাইট
  • কার্য 7: "PPCG5 বাইট
  • কার্য 8: B=U¬f)oU*B+1B13 বাইট
  • টাস্ক 9: ro'ಠ'i6 বাইট

সর্বোত্তম অর্ডারটি এখন 2,4,3,1,6,7,9,8,5, মূলের এক তৃতীয়াংশেরও কম 217 এর পুরো স্কোর এ চলেছে!

পরামর্শ স্বাগত!


7

পাইথ, স্কোর 489

বেস রূপান্তর: 15

s@L+s`MTrG1jQ36

সিজার সাইফার: 13 + 11 ^ 1.5

u.rGHrBG1z 36

1738 দ্বারা বিভাজ্য: 7 + 11 ^ 1.5

!%Q1738

প্রথম এন ধনাত্মক পূর্ণসংখ্যা: 8 + 8 ^ 1.5

*Rs@Q2SQ

মূল কারণগুলির সমষ্টি: 4 + 6 ^ 1.5

s{PQ

স্ট্রিংয়ে কিউয়ের উপস্থিতি: 4 + 4 ^ 1.5

}\qz

সমস্ত ASCII কোডগুলিতে যোগদান করুন: 5 + 4 ^ 1.5

jkCMz

"পিপিসিজি" মুদ্রণ করুন: 5 + 5 ^ 1.5

"PPCG

এর সাথে প্রতিস্থাপন করুন : 9 + 7 ^ 1.5

Xz"oO"\ಠ

3

রুবি, 1488

সম্ভবত এখানে উন্নতির জন্য অনেক জায়গা। স্কোর গণনা করে বেশিরভাগ সময় ব্যয় করেছেন ...

মূল কারণগুলির সমষ্টি : .৪
require'prime';p gets.to_i.prime_division.reduce(0){|s,a|s+a[0]}
বেস 36 : 30 + 47 1.5 = 352
puts gets.to_i.to_s(36).upcase
1738 দ্বারা বিভাজ্য : 22 + 15 1.5 = 80
puts gets.to_i%1738==0
প্রিন্ট করুন পিপিসি : 9 + 18 1.5 = 85
puts:PPCG
স্ট্রিং থাকে q? : 10 + 8 1.5 = 32
p gets[?q]
প্রতিস্থাপন করুনo : 23 + 16 1.5 = 87
puts gets.gsub(/o/i,?ಠ)
সিজার সিফার : 32 + 21 1.5 = 128
puts gets.tr 'A-Za-z','B-ZAb-za'
এএসসিআইআই কোডস : 37 + 26 1.5 = 169
puts gets.chomp.chars.map(&:ord).join
বর্গমূলের দ্বারা বিভাজ্য পূর্ণসংখ্যা : 72 + 56 1.5 = 491
puts *(1..1/0.0).lazy.select{|i|i%Math.sqrt(i).floor==0}.take(gets.to_i)

আপনি যদি আপনার প্রোগ্রামগুলিকে ল্যাম্বডাসে রূপান্তর করেন তবে আপনি একটি উন্নতি পেতে পারেন
চার্লস

3

জাভা, স্কোর 8331

তাদের লেভেনস্টেইন দূরত্বগুলি আমার স্কোরটি এখানে হত্যা করছে।

(এই প্রোগ্রামগুলি কমান্ড লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়)

প্রোগ্রাম 1 (119):

class L{public static void main(String[]a){System.out.print(Integer.toString(Integer.parseInt(a[0]),36).toUpperCase());}}

প্রোগ্রাম 2 (120 + 56 1.5 = 539):

class L{public static void main(String[]a){/*System.out.print*/for(char b:a[0].toCharArray())System.out.print((int)b);}}

প্রোগ্রাম 3 (101 + 49 1.5 = 444):

class L{public static void main(String[]a){System.out.print/*for*/(Integer.parseInt(a[0])%1738==0);}}

প্রোগ্রাম 4 (108 + 20 1.5 = 197):

class L{public static void main(String[]a){System.out.print(/*forInteger.parseInt(*/a[0].indexOf('q')>=0);}}

প্রোগ্রাম 5 (186 + 107 1.5 = 1293):

class L{public static void main(String[]a){for(char b:a[0].toCharArray())System.out.print(Character.isLetter(b)?Character.isUpperCase(b)?b>'Y'?'A':(char)(b+1):b>'y'?'a':(char)(b+1):b);}}

প্রোগ্রাম 6 (327 + 228 1.5 = 3747):

class L{public static void main(String[]a){int i,k=0,j=i=Integer.parseInt(a[0]);for(;i>0;i--)if(p(i)&&j%i==0)k+=i;System.out.print(k);}static boolean p(int n){if(n<2)return 0>0;if(n==2||n==3)return 1>0;if(n%2==0||n%3==0)return 0>0;int i,k=(int)Math.sqrt(n)+1;for(i=6;i<=k;i+=6)if(n%(i-1)==0||n%(i+1)==0)return 0>0;return 1>0;}}

প্রোগ্রাম 7 (336 + 10 1.5 = 368)

class L{public static void main(String[]a){/*int i,k=0,j=i=Integer.parseInt(a[0]);for(;i>0;i--)if(p(i)&&j%i==0)k+=i;*/System.out.print("PPCG");}static boolean p(int n){if(n<2)return 0>0;if(n==2||n==3)return 1>0;if(n%2==0||n%3==0)return 0>0;int i,k=(int)Math.sqrt(n)+1;for(i=6;i<=k;i+=6)if(n%(i-1)==0||n%(i+1)==0)return 0>0;return 1>0;}}

প্রোগ্রাম 8 (351 + 34 1.5 = 549):

class L{public static void main(String[]a){int i,k=1,j=(int)Math.sqrt(i=Integer.parseInt(a[0]));for(;k<i;k++)/*if(p(i)&&j%i==0)k+=i;*/System.out.println(j*k);}static boolean p(int n){if(n<2)return 0>0;if(n==2||n==3)return 1>0;if(n%2==0||n%3==0)return 0>0;int i,k=(int)Math.sqrt(n)+1;for(i=6;i<=k;i+=6)if(n%(i-1)==0||n%(i+1)==0)return 0>0;return 1>0;}}

প্রোগ্রাম 9 (305 + 84 1.5 = 1075):

class L{public static void main(String[]a){int i,k=1,j=0;System.out.print(a[0].replaceAll("o|O",""+(char)3232));}static boolean p(int n){if(n<2)return 0>0;if(n==2||n==3)return 1>0;if(n%2==0||n%3==0)return 0>0;int i,k=(int)Math.sqrt(n)+1;for(i=6;i<=k;i+=6)if(n%(i-1)==0||n%(i+1)==0)return 0>0;return 1>0;}}

3
এটা জাভা আপনার কোনও সংক্ষিপ্ত স্কোর আশা করা উচিত নয় ...;)
kirbyfan64sos

ইন্টারফেস l {স্ট্যাটিক শূন্য মূল (স্ট্রিং ...
রোহান ঝুনঝুনওয়ালা

1

পাইথ, স্কোর 817

সংখ্যা 1: 24

Jjk+UTrG1VjKvz36=+k@JN;k

সংখ্যা 2: (9 + 16 1.5 = 73)

Vz=+kCN;k

সংখ্যা 3: (5 + 8 1.5 = 27)

/QC"ۊ

সংখ্যা 4: (5 + 14 1.5 = 57)

hxz\q

সংখ্যা 5: (39 + 37 1.5 = 264)

J+GrG1VzIhxJNKChCNIhxJKpK)EpC-CK26))EpN

সংখ্যা 6: (4 + 39 1.5 = 247)

s{PQ

সংখ্যা 7: (5 + 4 1.5 = 13)

"PPCG

8 নম্বর: (12 + 12 1.5 = 53)

VK/@Q2 1*KhN

সংখ্যা 9 (13 + 13 1.5 = 59)

j\ಠcj\ಠcz\o\O

সেরা নয়, আমি আজই পাইথ শিখতে শুরু করেছিলাম এবং ভেবেছিলাম যে আমি এটি ব্যবহার করে দেখি, 5 নম্বরটি সত্যিই আমার স্কোরকে মেরে ফেলেছে, আমি মনে করি আমি তাদের মধ্যে কয়েকটি সংক্ষিপ্ত পেতে পারি তবে এটি কেবল আমার দূরত্বগুলিতে আরও আঘাত করবে। আরও অভিজ্ঞ পাইথ ব্যবহারকারীদের কোনও পরামর্শ প্রশংসা করা হয়।


6 নম্বরটি আসলে আমার স্কোরকে মেরে ফেলেছিল। ভাল, সংখ্যা 5, 6, এবং 9
সুপারজেডি 224

@ সুপারজেডি ২২২ আপনি প্রোগ্রামগুলির ক্রম পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, এখানে 5 এবং 7 স্যুইচ করা স্কোরটিকে কিছুটা কমিয়ে দেবে।
আর্কটরাস

@ এরিডান অপেক্ষা করুন, আপনি এটি করতে পারেন? আমার ধারণা আমি আজ বিকেলে তা করবো।
সুপারজেডি ২৪

@ সুপারজেডি ২২৪ You must use one language to write programs that perform the following nine tasks, in any order.শুভকামনা!
আর্কটরাস

3
5 + 14^1.519 নয়
জাকুবে

-1

পাইথন 3 (বর্তমানে অবৈধ), 621 বাইট

from numpy import base_repr
import math
print(base_repr(int(input()),36))
print("".join([str(ord(c)) for c in input()]))
if int(input())%1738 == 0:print(True)
else:print(False)
if "q" in input().lower():print(True)
else:print(False)
t=bytes.maketrans(b"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",b"bcdefghijklmnopqrstuvwxyzaBCDEFGHIJKLMNOPQRSTUVWXYZA")
print(input().encode("utf-8").translate(t).decode("utf-8"))
print("PPCG")
n=int(input())
for i in range(1,n):
    if i%math.floor(i**0.5)==0:print(i,end=" ")
print("")
y=input()
z=""
for i in y:
    if i.lower()=="o":z+="0"
    else:z+=i
print(z)

আসলে ভাল কোড নয় তবে কিছুটা কাজ করে: ডি। মূল কারণগুলির যোগফল কাজ করছে না। আমি সর্বদা আপনার উদাহরণ থেকে আলাদা ফলাফল পাই তাই আমি এটি সরিয়ে দিয়েছি। এছাড়াও পাইথন চরটি সমর্থন করে না তাই পরিবর্তে এটি oএর সাথে প্রতিস্থাপন করে0 গুলি

আইও ইনফো:

1 ম ইনপুট: বেস 10 ইন ইন আউটপুট: বেস 36 এ সংখ্যা

২ য় ইনপুট: একটি স্ট্রিং | আউটপুট: স্ট্রিংয়ের আসকি সংখ্যা

তৃতীয় ইনপুট: পূর্ণসংখ্যা | আউটপুট: সংখ্যাটি 1738 দ্বারা বিভাজ্য হলে সত্য বা মিথ্যা depending

চতুর্থ ইনপুট: স্ট্রিং | আউটপুট: টি বা এফ এর উপর নির্ভর করে যদি স্ট্রিংটিতে "q" থাকে

5 ম ইনপুট: স্ট্রিং | আউটপুট: স্ট্রিংয়ের কেসার সাইফার +1

6th ষ্ঠ: খালি আক্ষরিক "পিপিসিজি" মুদ্রণ করে

7th ম ইনপুট: ইনট এন | আউটপুট: প্রথম এন ইনটগুলি মেঝে দ্বারা বিভাজ্য (স্কয়ার্ট (এন))

8 ম ইনপুট: স্ট্রিং | আউটপুট: সমস্ত oএর সাথে 0 দিয়ে প্রতিস্থাপন করা হয়েছে (with এর সাথে নয় কারণ পাইথন সেই চরিত্রটিকে সমর্থন করে না, খুব বেশি পাগল হবে না :))


ও আচ্ছা. আপনি কি দয়া করে প্রধান কারণগুলি গণনা করার একটি প্রাথমিক ব্যাখ্যা করতে পারেন কারণ আমি আপনার উদাহরণের মধ্যে থেকে সর্বদা আলাদা ফলাফল পাই।
সিপ্রাম

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

3
পাইথন সমর্থন করে ಠ, কেবল স্ট্রিংয়ের সামনে এউ রাখবে। আপনি "ಠ_ಠ" <- এর মতো
ডিজেগেমার 98
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.