যদি তৃতীয় পূর্ণসংখ্যার সাথে প্রথম দুটি সংখ্যার যোগফল হয় তবে তিনটি সংখ্যার পূর্ণসংখ্যার সাথে মিলে যাওয়ার একটি রেজেক্স


27

একটি নিয়মিত এক্সপ্রেশন লিখুন যা প্রদত্ত স্ট্রিংয়ের সাথে তিনটি অ-নেতিবাচক, স্পেস-বিভাজিত পূর্ণসংখ্যগুলির সমন্বয় করে এবং কেবল যদি শেষ পূর্ণসংখ্যটি পূর্ববর্তী দুটিটির যোগফল হয়। উত্তরগুলি 2 থেকে 10 এর মধ্যে রেডিক্স সহ যে কোনও সংখ্যা পদ্ধতির পূর্ণসংখ্যার জন্য হতে পারে।

পরীক্ষার মামলা

এগুলি ব্যর্থ হওয়া উচিত:

0 1 2
10 20 1000

এগুলি মিলবে:

10 20 30
28657 46368 75025
0 0 0

বিধি

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

আপনার উত্তরে আপনার রেগেক্স গন্ধটি নির্দিষ্ট করুন।

এটি রিজেক্স গল্ফ, তাই বাইটের মধ্যে সংক্ষিপ্ততম রেজেক্স। আপনার ভাষায় যদি নিয়মিত অভিব্যক্তি বোঝাতে ডিলিমিটারদের (সাধারণত /...//) প্রয়োজন হয়, তাহলে নিজেকে সীমানা গণনা করবেন না। আপনার সমাধানের যদি সংশোধকগুলির প্রয়োজন হয় তবে প্রতি বর্ধক প্রতি বাইট যুক্ত করুন।

রেজেক্স-গল্ফিং বিধিগুলির জন্য মার্টিন ইন্ডার এবং জয়তে ক্রেডিট ।


রেজেক্সের সাথে পূর্ণসংখ্যার সন্ধান এবং বৃদ্ধি করার জন্য মার্টিন এেন্ডারের সমাধানের ভিত্তিতে এটি বিশ্বাস করার আমার পক্ষে যুক্তি রয়েছে ।


1
এই চ্যালেঞ্জের আগে বিদ্যমান কোনও রেইগেক্স গন্ধ ব্যবহার করতে পারেন এই নিয়মটি বর্তমান sensকমত্যকে প্রতিফলিত করে না, যা বলেছে যে চ্যালেঞ্জ পোস্ট হওয়ার পরে তৈরি হওয়া বা আপডেট হওয়া ভাষাগুলি (এবং সেইজন্য রিজেক্স স্বাদগুলি) এখনও প্রতিযোগিতা করতে পারে।
এরিক দ্য আউটগল্ফার

1
সম্পর্কিত। (আমি সন্দেহ করি এর উত্তর কিছুটা জিমির মতোই দেখতে পাবেন। নেট উত্তর সেখানে।)
মার্টিন এন্ডার

@ এরিক অটগল্ফার আসলেই conকমত্য আছে যে চ্যালেঞ্জের পরে তৈরি ভাষাগুলি কি লড়াই করতে পারে? এটি সম্পূর্ণ বোকা
edc65


পার্ল 5-র /eসংশোধক কেবল বিকল্পগুলিতে প্রয়োগ হয় এবং এটি বাহ্যিক কোড চালানোর একমাত্র উপায় নয়। এছাড়াও এটি পার্ল 6 কে পুরোপুরি অযোগ্য ঘোষণা করে কারণ একটি রেইজেক্স অতিরিক্ত সিনট্যাক্স সহ কেবল একটি পদ্ধতি। (কারণটি হ'ল রিজেক্সসকে পড়তে ও লিখতে সহজ করে তোলে) ফলস্বরূপ প্রত্নতাত্ত্বিক রেজিক্সগুলিতে প্রয়োজনীয় সমস্ত বৈশিষ্ট্যের প্রয়োজন নেই (বা অন্তর্ভুক্ত) আপনি কেবল পার্ল 6 কোডে রেখেছেন। (অর্থাত্ যদি আপনি কেবলমাত্র নির্দিষ্ট কোডটি /^(\d+)**3%' '$ <?{$0[2]==[+] $0[0,1]}>//^(\d+)' '(\d+)' '(\d+)$ <?{$2==$0+$1}>//^(\d+)' '(\d+){}" {$0+$1}"$/
রেজেক্সের

উত্তর:


15

পার্ল / পিসিআরই: 2,685 বাইট

^ (?! (?! 0 * + (? = (\ D *?)) ((?: (?? (? = \ D + 0 * + (\ ডি *??)) (\ ডি (? (4) \ 4)) 0 * (\ d *?) (\ d \ 6? +) $) \ d) +)) (? = (? (?!? \ 1 (?: (? = \ d + 0 * \ 3 ((\ 7?? +) \ d)) (? = \ d (\ d * 0 * \ 3 \ 8)) (? =? 0 \ 9 [9] | 1 \ 9 [8] | 2 \ 9 [7] | 3 \ 9 [6] | 4 \ 9 [5] | 5 \ 9 [4] | 6 \ 9 [3] | 7 \ 9 [2] | 8 \ 9 [1] | 9 \ 9 [0]) \ ঘ) * + (? = \ d (\ d * 0 * \ 3 \ 8? +)) (? = [[5-9] \ 10 [5-9] | 1 \ 10 [9] | 2 \ 10 [89] | 3 \ 10 [7-9] | 4 \ 10 [6-9] | 6 \ 10 [4] | 7 \ 10 [34] | 8 \ 10 [2-4] | 9 \ 10 [1-4]) ) (? = \ d + \ d + 0 * \ 1 \ 3 \ 6 $) | (? (? (?! * + \ 3) \ d +) (? =? \ d * (\ 2 | \ 4) (। *?? 0 * +) \ d + $) (? (?? (? = 9 * \ 11)) (?: 9 (? = (? = \ D * \ 12 [1] (\ 13? +0)))) *? (??? \ 11) \ 11 \ 12 [1] \ 13 + + \ $ 6 |? (:? (\ ঘ) (= \ D * \ 12 (\ 15 + + \ 14))?) * (= \ ঘ (\ ঘ *? \ 12 \ 15 +)) (= 0 \ 16 [1] |? 1 \ 16 [2] | 2 \ 16 [3] | 3 \ 16 [4] | 4 \ 16 [5] | 5 \ 16 [ 6] | 6 \ 16 [7] | 7 \ 16 [8] | 8 \ 16 [9]) \ ঘ (:? 9 (= \ D * \ 12 \ 15 + + \ ঘ (\ 17 +0? ))) *? \ 11 \ 12 \ 15? + \ D \ 17? + \ 6 $))) \ 1 (?: (?? ((=?) D)) \ d * 0 * + \ 3 ((\ 19? +) \ d) \ d * 0 * + \ 5 ((\ 21? +) \ d)) (? = \ d (\ d * 0 * + \ 3 \ 20) \ d (\ d * 0 * + \ 5 \ 22)) (? (?! \ 18 (?:(? = \ d + 0 * + \ 3 \ 19 ((\ 25? +) \ d)) (? =? \ d (\ d * 0 * + \ 3 \ 19 \ 26)) (? = 0 \ 27 [ 9] | 1 \ 27 [8] | 2 \ 27 [7] | 3 \ 27 [6] | 4 \ 27 [5] | 5 \ 27 [4] | 6 \ 27 [3] | 7 \ 27 [2 ] | 8 \ 27 [1] | 9 \ 27 [0]) \ d) * + (? =? \ D (\ d * 0 * + \ 3 \ 19 \ 26? +)) (? = [5-9 ] \ 28 [5-9] | 1 \ 28 [9] | 2 \ 28 [89] | 3 \ 28 [7-9] | 4 \ 28 [6-9] | 6 \ 28 [4] | 7 \ 28 [34] | 8 \ 28 [2-4] | 9 \ 28 [1-4])) (= 1 \ 23 (:? 1 \ 24 [2] | 2 \ 24 [3] | 3 \ 24 [4] | 4 \ 24 [5] | 5 \ 24 [6] | 6 \ 24 [7] | 7 \ 24 [8] | 8 \ 24 [9] | 9 \ 24 [0]) | 2 \ 23 (: 1 \ 24 [3] | 2 \ 24 [4] | 3 \ 24 [5] | 4 \ 24 [6] | 5 \ 24 [7] | 6 \ 24 [8] | 7 \ 24 [9 ] | 8 \ 24 [0] | 9 \ 24 [1]) | 3 \ 23 (: 1 \ 24 [4] | 2 \ 24 [5] | 3 \ 24 [6] | 4 \ 24 [7] | 5 \ 24 [8] | 6 \ 24 [9] | 7 \ 24 [0] | 8 \ 24 [1] | 9 \ 24 [2]) | 4 \ 23 (: 1 \ 24 [5] | 2 \ 24 [6] | 3 \ 24 [7] | 4 \ 24 [8] | 5 \ 24 [9] | 6 \ 24 [0] | 7 \ 24 [1] | 8 \ 24 [2] | 9 \ 24 [3]) | 5 \ 23 (: 1 \ 24 [6] | 2 \ 24 [7] | 3 \ 24 [8] | 4 \ 24 [9] | 5 \ 24 [0] | 6 \ 24 [1] | 7 \ 24 [2] | 8 \ 24 [3] | 9 \ 24 [4]) | 6 \ 23 (: 1 \ 24 [7] | 2 \ 24 [8] | 3 \ 24 [9] | 4 \ 24 [0] | 5 \ 24 [1] | 6 \ 24 [2] | 7 \ 24 [3] | 8 \ 24 [4] | 9 \ 24 [5]) | 7 \ 23 (: 1 \ 24 [8] | 2 \ 24 [9] | 3 \ 24 [0] | 4 \ 24 [1] | 5 \ 24 [2] | 6 \ 24 [3] | 7 \ 24 [4 ] | 8 \ 24 [5] | 9 \ 24 [6]) | 8 \ 23 (?:1 \ 24 [9] | 2 \ 24 [0] | 3 \ 24 [1] | 4 \ 24 [2] | 5 \ 24 [3] | 6 \ 24 [4] | 7 \ 24 [5] | 8 \ 24 [6] | 9 \ 24 [7]) | 9 \ 23 (: 1 \ 24 [0] | 2 \ 24 [1] | 3 \ 24 [2] | 4 \ 24 [3] | 5 \ 24 [4] | 6 \ 24 [5] | 7 \ 24 [6] | 8 \ 24 [7] | 9 \ 24 [8]) | 0 \ 23 (\ ঘ) \ 24 \ 29 | (\ ঘ) \ 23 [0] \ 24 \ 30) | (= 1 \ 23 (: 0 \ 24 [2] | 1 \ 24 [3] | 2 \ 24 [4] | 3 \ 24 [5] | 4 \ 24 [6] | 5 \ 24 [7] | 6 \ 24 [8] | 7 \ 24 [9] | 8 \ 24 [0] | 9 \ 24 [1]) | 2 \ 23 (: 0 \ 24? [3] | 1 \ 24 [4] | 2 \ 24 [5] | 3 \ 24 [6] | 4 \ 24 [7] | 5 \ 24 [8] | 6 \ 24 [9] | 7 \ 24 [ 0] | 8 \ 24 [1] | 9 \ 24 [2]) | 3 \ 23 (: 0 \ 24 [4] | 1 \ 24 [5] | 2 \ 24 [6] | 3 \ 24 [7 ] | 4 \ 24 [8] | 5 \ 24 [9] | 6 \ 24 [0] | 7 \ 24 [1] | 8 \ 24 [2] | 9 \ 24 [3]) | 4 \ 23 (? : 0 \ 24 [5] | 1 \ 24 [6] | 2 \ 24 [7] | 3 \ 24 [8] | 4 \ 24 [9] | 5 \ 24 [0] | 6 \ 24 [1] | 7 \ 24 [2] | 8 \ 24 [3] | 9 \ 24 [4]) | 5 \ 23 (: 0 \ 24 [6] | 1 \ 24 [7] | 2 \ 24 [8] | 3 \ 24 [9] | 4 \ 24 [0] | 5 \ 24 [1] | 6 \ 24 [2] | 7 \ 24 [3] | 8 \ 24 [4] | 9 \ 24 [5]) | 6 \ 23 (: 0 \ 24 [7] | 1 \ 24 [8] | 2 \ 24 [9] | 3 \ 24 [0] | 4 \ 24 [1] | 5 \ 24 [2] | 6 \ 24? [3] | 7 \ 24 [4] | 8 \ 24 [5] | 9 \ 24 [6]) | 7 \ 23 (: 0 \ 24 [8] | 1 \ 24 [9] | 2 \ 24 [ 0] | 3 \ 24 [1] | 4 \ 24 [2] | 5 \ 24 [3] | 6 \ 24 [4] | 7 \ 24 [5] | 8 \ 24 [6] | 9 \ 24 [7 ]) | 8 \ 23 (?:0 \ 24 [9] | 1 \ 24 [0] | 2 \ 24 [1] | 3 \ 24 [2] | 4 \ 24 [3] | 5 \ 24 [4] | 6 \ 24 [5] | 7 \ 24 [6] | 8 \ 24 [7] | 9 \ 24 [8]) | 9 \ 23 (: 0 \ 24 [0] | 1 \ 24 [1] | 2 \ 24 [2] | 3 \ 24 [3] | 4 \ 24 [4] | 5 \ 24 [5] | 6 \ 24 [6] | 7 \ 24 [7] | 8 \ 24 [8] | 9 \ 24 [9]) | 0 \ 23 (: 0 \ 24 [1] | 1 \ 24 [2] | 2 \ 24 [3] | 3 \ 24 [4] | 4 \ 24 [5] | 5 \ 24 [6] | 6 \ 24 [? 7] | 7 \ 24 [8] | 8 \ 24 [9] | 9 \ 24 [0])) \ d) + \ | ^ 0 + \ 0 * (\ ডি +) \ 0 * \ জি {-1 $ | ^ 0 * (\ d +) \ 0+ \ 0 * \ g {-1} $)) +

এটি অনলাইন চেষ্টা করুন!

আমি রেইগেক্সের বিরতি পরে কঠিন চ্যালেঞ্জের জন্য প্রলোভনে পড়েছি, এবং এই ডুজি পেরিয়ে হোঁচট খেয়েছে। সংযোজন যাচাই করা (পার্ল / পিসিআরই সহ) এমন কিছু যা আমি আগে চিন্তা করেছি তবে তাত্ক্ষণিকভাবে অসম্ভব বা আমার ক্ষমতা ছাড়িয়ে খারিজ করে দেওয়া হয়েছে। যাইহোক, আমি এটি এখন অন্য ক্র্যাক গ্রহণ করেছি এবং আমি সত্যিই এটি সম্পন্ন করে বলতে পেরে বেশ শিহরিত!

আমি যখন লিখেছিলাম তখন শর্ট অ্যালগরিদমগুলি এবং সামগ্রিক মিলের কৌশল বিবেচনা করার চেয়ে আমি সত্যিই এটি গল্ফ করিনি। আমি সত্যিই খুশি আমি এটি সম্পন্ন করে: ডি

লোকেরা আগ্রহী হলে আমি মন্তব্য যুক্ত করতে এবং এটি কীভাবে কাজ করে তা ব্যাখ্যা করতে পারতাম।

সম্পাদনা করুন: আমি ব্যাখ্যা এবং মন্তব্য সহ এই সম্পর্কে আমার ব্লগে একটি বিস্তারিত পোস্ট করেছি :) উপভোগ করুন: http://www.drregex.com/2018/09/a-regex-i-submitted-to-reddit-climbed.html


4
কিছু ব্যাখ্যায় অবশ্যই আগ্রহী!
এটেন

2
@Etene আমি একটি সম্পূর্ণ লেখার লিঙ্ক সহ পোস্টটি সম্পাদনা করেছি: ডি
জয়তেয়া

1
ধন্যবাদ, এটি একটি আকর্ষণীয় পড়া হবে!
এটেন

6

.NET গন্ধ, 139 111 106 + 1 = 107 বাইট

RightToLeftসংশোধক প্রয়োজন r। বাইনারি ইনপুট।

(?(2)!)^\5 \7 ((?(2)()(?(2)!)(?<-2>){2})(0|(?<-2>1))(?<=(((0|(?<2>1)|\b)(?=.*(?<=(\5).*))?\7?) \d*){2}))+$

এটি অনলাইন চেষ্টা করুন! ( রেটিনা ব্যবহার করে ।)

গ্রুপগুলিকে ভারসাম্য দেওয়ার জন্য হ্যাঁ। আমি এটি পরে ব্যাখ্যা করব ...

দশমিক সংস্করণ, 340 243 + 1 = 244 বাইট

(?(2)!)^\5 \7 ((?(2)()(?(2)!)(?<-2>){10})(0|(?<-2>1|(?<-2>2|(?<-2>3|(?<-2>4|(?<-2>5|(?<-2>6|(?<-2>7|(?<-2>8|(?<-2>9))))))))))(?<=(((0|(?<2>1|(?<2>2|(?<2>3|(?<2>4|(?<2>5|(?<2>6|(?<2>7|(?<2>8|(?<2>9)))))))))|\b)(?=.*(?<=(\5).*))?\7?) \d*){2}))+$

এটি অনলাইন চেষ্টা করুন!


3
"আমি পরে এটি ব্যাখ্যা করব" কত পরে?
5urous

3
@ Ousurous এটি পরে পরিণত হিসাবে অনেক পরে।
মার্টিন এন্ডার

1

.NET, 96 বাইট

^\4 \6((?(2)()(?(2)^)(?<-2>){2}| ?)(0|(?<-2>1))(?<=((0|(?<2>1)|)\4?) .*((0|(?<2>1)|)\6?) .*))+$

পতাকা: r

এটি অনলাইন চেষ্টা করুন!

দশমিক সংস্করণ, 238 বাইট

^\5 \6(?<-6>)((?(2)()(?(2)^)(?<-2>){10}| ?)((?<-2>[1469]|(?<-2>[27]))|[0358])(?([5-9])(?<-2>){5})(?([3489])(?<-2>){3})(?<=(((((?=[5-9](?<2>){5}|)(?=[3489](?<2>){3}|)((?<2>[1469]|(?<2>[27]))|.))?(?( .*)\6?(?<-6>)?|\5?(?<-5>)))) .*){2}))+$

পতাকা: r

এটি অনলাইন চেষ্টা করুন!

মার্টিনের উত্তরের মতোই।

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