এপিএল, 36 34 39 36 33 29 27
*+/x={(∇⍣(⊃x>¯1↑⍵))⍵,+/⍵↑⍨-⍴⍕x}⍎¨⍕x←⎕
1
কিথ, 0
অন্যথায় আউটপুট
গল্ফস্ক্রিপ্ট আবার ধর্মঘট !!
সম্পাদন করা
+/x={(∇⍣(x>⊢/⍵))⍵,+/⍵↑⍨-⍴⍕x}⍎¨⍕x←⎕
⊢/
বিয়োগ 1 ( ) এর পরিবর্তে ডান-হ্রাস ( ) ব্যবহার করে ¯1↑
সরাসরি 1 চর সংরক্ষণ এবং অপ্রত্যক্ষভাবে ডিসক্লোজ ( ⊃
) থেকে 1 সংরক্ষণ করে
ব্যাখ্যা
⍎¨⍕x←⎕
মূল্যায়ন ইনপুট নেয় (একটি সংখ্যা হিসাবে বিবেচিত) এবং এটিকে নির্ধারণ করে x
। এটিকে একটি অক্ষরের অ্যারেতে রূপান্তর করে (অন্যান্য ভাষায় "ওরফে" স্ট্রিং), এবং প্রতিটি অক্ষরের (অঙ্ক) লুপ করে এটিকে একটি সংখ্যায় রূপান্তর করে। সুতরাং এটি অঙ্কগুলির একটি সংখ্যাসূচক অ্যারে ফলাফল।
{(∇⍣(x>⊢/⍵))⍵,+/⍵↑⍨-⍴⍕x}
প্রধান "লুপ" ফাংশন: অ্যারের থেকে
+/⍵↑⍨-⍴⍕x
শেষ ⍴⍕x
(সংখ্যাগুলির সংখ্যা x
) নেওয়া এবং তাদের অঙ্ক করে।
⍵,
অ্যারের শেষ পর্যন্ত এটি যুক্ত করে তোলে।
(x>⊢/⍵)
অ্যারেতে শেষ সংখ্যাটি (যা +/⍵↑⍨-⍴⍕x
এখনও জড়িত হয়নি) তার চেয়ে ছোট কিনা x
এবং নতুন অ্যারেতে এই ফাংশনটি বহুবার প্রেরণ করে 1
বা 0
∇⍣
কার্যকর করে কিনা তা পরীক্ষা করে দেখুন। সুতরাং যদি শেষ সংখ্যাটি এর চেয়ে কম হয় তবে x
এই ফাংশনটি পুনরাবৃত্তি করে। অন্যথায় কেবল নতুন অ্যারেটি ফিরিয়ে দিন
ফাংশন নির্বাহ করার পর, অ্যারে অঙ্কের আপ যেখানে সংখ্যার 2 তার চেয়ে অনেক বেশী হয় বা সমান রয়েছে x
(যেমন 14
উত্পন্ন করবে 1 4 5 9 14 23
, 13
উত্পন্ন করবে 1 3 4 7 11 18 29
)
অবশেষে যদি প্রতিটি সংখ্যার সমান কিনা তা পরীক্ষাx
এবং আউটপুট ফলে বাইনারি এর সমষ্টি অ্যারে।
সম্পাদন করা
1=+/x={(∇⍣(x>⊢/⍵))⍵,+/⍵↑⍨-⍴⍕x}⍎¨⍕x←⎕
0
ইনপুটটি যদি এক-অঙ্ক হয় তবে আউটপুট তৈরি করতে 2 টি অক্ষর যুক্ত হয়েছে :-(
তবুও অন্য একটি সম্পাদনা
+/x=¯1↓{(∇⍣(x>⊢/⍵))1↓⍵,+/⍵}⍎¨⍕x←⎕
ব্যাখ্যা
ফাংশনটি এখন 1↓
শেষ ⍴⍕x
( ↑⍨-⍴⍕x
) না নিয়ে অ্যারে থেকে প্রথম সংখ্যা ( ) ফেলে দেয় drops
তবে, এই পদ্ধতির 1=
একক অঙ্কের সংখ্যাগুলি হ্যান্ডেল করার পক্ষে পর্যাপ্ত পরিমাণে নেই। সুতরাং এটি এখন সমতা যাচাই করার আগে অ্যারে থেকে শেষ সংখ্যাটি ড্রপ করে x
, 1 টি যোগ করে
আপনি এটি অনুমান করেছেন: সম্পাদনা করুন
+/x=1↓{1↓⍵,+/⍵}⍣{x≤+/⍵}⍎¨⍕x←⎕
x
পুরানো শেষ আইটেমের পরিবর্তে সদ্য যুক্ত হওয়া আইটেমটির সাথে তুলনা করা হয়, সুতরাং সমতা পরীক্ষা করার আগে প্রথম (শেষের পরিবর্তে) আইটেমটি বাদ দিনx
বাদ দেওয়া যথেষ্ট হবে, একটি বিয়োগ চিহ্ন সংরক্ষণ করবে। পাওয়ার অপারেটর আরেকটি ফর্ম ব্যবহার দ্বারা অন্য 3 সংরক্ষণ ( ⍣
)
এবং একটি 25-চর জিএস উত্তর প্রদর্শিত হবে (অরজ)
শেষ সম্পাদনা
x∊1↓{1↓⍵,+/⍵}⍣{x≤+/⍵}⍎¨⍕x←⎕
বিশ্বাস করতে পারছি না আমি সেটা মিস করেছি।
এটি আর গল্ফ করতে পারে না।