জেলি , 16 14 বাইট
ডেনিস 2 বাইট সংরক্ষণ করার জন্য ধন্যবাদ!
ÆḌḊ,Ṗ߀€+U$FṂo
এটি অনলাইন চেষ্টা করুন!
যুক্তি ব্যাখ্যা
প্রদত্ত একটি সংখ্যা এন :
- যদি তা হয়
1তবে উত্তরটি 1। অন্যথায়:
উপস্থাপনা হয় হয় a + bবা হয় a × b, যেখানে aএবংb প্রকাশ হয়।
এর সমস্ত সম্ভাব্য মান বিবেচনা করুন aএবং b:
- যদি প্রতিনিধিত্ব হয়
a + b, তবে aএবং bসীমার মধ্যে রয়েছে [1 .. n-1]।
- তাহলে উপস্থাপনা
a × b, aএবং bযথাযথ ভাজক আছে nচেয়ে বড়1 ।
উভয় ক্ষেত্রেই তালিকাটি [[<proper divisors of n larger than 1>], [1, 2, ..., n-1]]গণনা করা হয়েছে ( ÆḌḊ,Ṗ), প্রতিটি সংখ্যার উপরের বর্তমান লিঙ্কটি মানচিত্র করুন ߀€, একসাথে সঠিক জোড় যুক্ত করুন (+U$ ) এবং সর্বনিম্ন মান ( FṂo) পান।
কোড ব্যাখ্যা
ÆḌḊ,Ṗ߀€+U$FṂo Main link. Assume n = 10.
ÆḌ Proper divisors. [1,2,5]
Ḋ Ḋequeue, remove the first element. [2,5]
,Ṗ Pair with Ṗop. Auto convert n = 10 to range
[1,2,3,4,5,6,7,8,9,10] and remove the last element
10, get [1,2,3,4,5,6,7,8,9].
߀€ Apply this link over each element.
+U$ Add with the Upend of itself.
FṂ Flatten and get the Ṃinimum element.
o Logical or with n.
If the list is empty, minimum returns 0 (falsy), so logical or
convert it to n.