ইয়ো ছেলে, অবশ্যই এটির যোগফল


67

প্রতিটি ধনাত্মক পূর্ণসংখ্যার যেকোন বেস বি -5 এ সর্বাধিক তিনটি প্যালিনড্রমিক পজিটিভ পূর্ণসংখ্যার যোগফল হিসাবে প্রকাশ করা যেতে পারে ।   Cilleruelo ইত্যাদি।, 2017

একটি ইতিবাচক পূর্ণসংখ্যা প্রদত্ত বেসে প্যালিনড্রোমিক হয় যদি সেই ভিত্তিতে এর উপস্থাপনা, অগ্রণী শূন্যগুলি ছাড়াই একই পাশের দিকে পড়ে reads নিম্নলিখিতটিতে, কেবল বেস b = 10 বিবেচনা করা হবে।

প্যালিনড্রমিক সংখ্যার যোগফল হিসাবে পচনটি অনন্য নয় । উদাহরণস্বরূপ, 5সরাসরি হিসাবে 5বা যোগফল হিসাবে প্রকাশ করা যেতে পারে 2, 3। একইভাবে, 132হিসাবে 44, 44, 44বা হিসাবে পচে যেতে পারে 121, 11

চ্যালেঞ্জ

ধনাত্মক পূর্ণসংখ্যা দেওয়া হয়, তার যোগফলকে তিন বা তার চেয়ে কম ধনাত্মক পূর্ণসংখ্যায় ভাগ করে যা বেস 10 এ প্যালিনড্রোমিক।

অতিরিক্ত বিধি

  • ব্যবহৃত অ্যালগরিদম নির্বিচারে বড় ইনপুট জন্য কাজ করা উচিত। তবে প্রোগ্রামটি মেমরি, সময় বা ডেটা টাইপ বিধিনিষেধের দ্বারা সীমাবদ্ধ থাকলে এটি গ্রহণযোগ্য।

  • ইনপুট এবং আউটপুট যে কোনও যুক্তিসঙ্গত উপায়ে নেওয়া যেতে পারে । ইনপুট এবং আউটপুট ফর্ম্যাটটি যথারীতি নমনীয়।

  • আপনি প্রতিটি ইনপুটের জন্য এক বা একাধিক বৈধ পচন উত্পাদন করতে পারবেন, যতক্ষণ না আউটপুট ফর্ম্যাটটি দ্ব্যর্থহীন।

  • কোনও প্রোগ্রামিং ভাষায় প্রোগ্রাম বা ফাংশন অনুমোদিত । স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।

  • বাইটস মধ্যে সংক্ষিপ্ত কোড।

উদাহরণ

যেহেতু একটি ইনপুটটিতে অনেকগুলি ক্ষয় হতে পারে, সেগুলি পরীক্ষার ক্ষেত্রে নয় বরং উদাহরণ। প্রতিটি পচন একটি আলাদা লাইনে প্রদর্শিত হয়।

Input  ->  Output

5     ->   5
           2, 3

15    ->   1, 3, 11
           9, 6

21    ->   11, 9, 1
           7, 7, 7

42    ->   22, 11, 9
           2, 7, 33

132   ->   44, 44, 44
           121, 11

345   ->   202, 44, 99
           2, 343

1022  ->   989, 33
           999, 22, 1

9265  ->   9229, 33, 3
           8338, 828, 99


আমি ভাবছি: এমন কোনও পূর্ণসংখ্যা আছে যা অবশ্যই দুটি প্যালিনড্রোমে তৈরি করা উচিত ? এটি একটি দুর্দান্ত পরীক্ষার কেস তৈরি করবে (যদি তা না হয়, গল্ফাররা এই সত্যটি ব্যবহার করতে পারে এবং কেবল চেক k=1এবং করতে পারে k=3))
লিন

লিনকে "অসম্ভব" বলে মনে হচ্ছে, কারণ প্রতিটি ইনপুটটির জন্য বেশ কয়েকটি ক্ষয় হতে পারে। তবে যেমনটি আমরা জানি, গণিতে স্বজ্ঞাততা এত বিভ্রান্তিকর হতে পারে ...
লুইস মেন্ডো

1
@ লিন যদি আপনি অনুমতি দিচ্ছেন k=1(মূল সংখ্যাটি ইতিমধ্যে একটি প্যালিনড্রোম হিসাবে রয়েছে), তার মানে আপনি ধরে নিচ্ছেন যে অন্যান্য 2 সংখ্যা দুটিই 0 So তাই 0 যদি সংখ্যার মধ্যে একটি হিসাবে গ্রহণযোগ্য হয় তবে যে কোনও সংখ্যা অবশ্যই করা উচিত সঙ্গে k=2এটাও কাজ করবে k=3যদি তিন নম্বর এক 0.
Darrel হফম্যান

আমি মনে করি না যে এমন কোনও সংখ্যা রয়েছে যা কেবলমাত্র 2 এর সমষ্টি হিসাবে প্রকাশ করা যেতে পারে, অতএব, আপনি কেবল 3 এবং 1
কেসটি

উত্তর:


19

ব্র্যাচল্যাগ , 7 বাইট

~+ℕᵐ.↔ᵐ

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

আশ্চর্যজনকভাবে যে ধীর হয় না।

ব্যাখ্যা

(?)~+  .          Output is equal to the Input when summed
     ℕᵐ.          Each element of the Output is a positive integer
       .↔ᵐ(.)     When reversing each element of the Output, we get the Output

2
.ব্যাখ্যায় এলোমেলো কী আছে এবং (.)? সত্যিই ব্র্যাচ্ল্যাগকে চেনে না।
ম্যাজিক অক্টোপাস উরান

3
@ ম্যাজিক অ্যাক্টপাস ইউরান .হ'ল আউটপুট ভেরিয়েবল। ~+,, ℕᵐএবং ↔ᵐবাম এবং ডান ভেরিয়েবল আছে যা পূর্বাভাস হয়। এগুলির সদৃশটি .কেবল ইঙ্গিত দেয় যে আউটপুট সেই 3 টি প্রাকটিকেট কলগুলির প্রত্যেকটিতে সরাসরি জড়িত। ফাইনালটি (.)এখানে প্রদর্শিত হয় যে আউটপুট ভেরিয়েবলটি কার্যত প্রোগ্রামের শেষ পরিবর্তনশীল last অতএব, শেষ বর্ণিত সম্পর্কটি সত্যই .↔ᵐ.যার অর্থ "আউটপুট ফলাফলের উপর ম্যাপিং বিপরীত"
617

খুব ভাল শেষ ইনপুটটি হতে পারে> 10000
রোজলুপুর


8

জেলি , 12 10 9 8 বাইট

ŒṗDfU$ṪḌ

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

কিভাবে এটা কাজ করে

ŒṗDfU$ṪḌ  Main link. Argument: n (integer)

Œṗ        Find all integer partitions of n.
  D       Convert each integer in each partition to base 10.
     $    Combine the two links to the left into a chain.
    U     Upend; reverse all arrays of decimal digits.
   f      Filter the original array by the upended one.
      Ṫ   Take the last element of the filtered array.
          This selects  the lexicographically smallest decomposition of those with
          the minimal amount of palindromes.
       Ḍ  Undecimal; convert all arrays of decimal digits to integers.

5
আমি মাত্র 140 ডলার বাইট দিয়ে একটি সমাধান জমা দিতে চেয়েছিলাম, তারপরে আমি 8 টি বাইট দেখতে পাচ্ছি এবং আমি এর মতো: "না, পোস্ট পোস্ট আমার হবে না"।
ইউইউ কোন কাজ

15
ভাষাগুলিতে স্কোরের তুলনা করা বেশ অর্থহীন। আমি নিজেই একটি পাইথন উত্তর পোস্ট করেছি, কারণ এই উত্তরটি হারাতে পারে তার জন্য নয়, তবে এটি যে আমি সবচেয়ে ছোট পাইথন উত্তরটি ভাবতে পারি তার পক্ষে কম ।
ডেনিস

8

পাইথন 2 , 117 বাইট

def f(n):p=[x for x in range(n+1)if`x`==`x`[::-1]];print[filter(None,[a,b,n-a-b])for a in p for b in p if n-a-b in p]

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

তালিকার একটি তালিকা মুদ্রণ করে, যার প্রতিটিই একটি সমাধান a রড 9 বাইট সংরক্ষণ করেছে।


-9 বাইটগুলি ফাংশনে স্যুইচ করা হয়, বিয়োগগুলি প্রতিস্থাপন cএবং ব্যবহার করেfilter
রড

1
@ রড ধন্যবাদ! filter(Noneআমি যখন রাতের খাবার তৈরি করছিলাম তখন আমাকেও আঘাত করুন। c → n-a-bদারুণ :)
লিন

7

জাভাস্ক্রিপ্ট (ES6), 115 ... 84 83 বাইট

সর্বদা একটি ত্রি-উপাদান অ্যারে প্রদান করে, যেখানে অব্যবহৃত এন্ট্রিগুলি জিরো দিয়ে প্যাড করা হয়।

f=(n,b=a=0)=>(r=[b,a%=n,n-a-b]).some(a=>a-[...a+''].reverse().join``)?f(n,b+!a++):r

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


6

আর, 126 বাইট 145 বাইট

জিউসেপেকে 19 বাইট গল্ফ করার জন্য ধন্যবাদ

function(n){a=paste(y<-0:n)
x=combn(c(0,y[a==Map(paste,Map(rev,strsplit(a,"")),collapse="")]),3)
unique(x[,colSums(x)==n],,2)}

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

ব্যাখ্যা

স্ট্রিংগুলি বিপরীত করার জন্য আরের কোনও নেটিভ উপায় নেই এবং অনেকগুলি ডিফল্ট স্ট্রিং ক্রিয়াকলাপ সংখ্যায় কাজ করে না। সুতরাং প্রথমে আমরা ইতিবাচক পূর্ণসংখ্যার সিরিজ (গুণমান 0) কে অক্ষরে রূপান্তর করি।

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

এর পরে আমি তিনটি গ্রুপের (এখানে 0s গুরুত্বপূর্ণ যেখানে) যাচাই করতে চাই, ভাগ্যক্রমে আর এর একটি বিল্ট ইন কম্বিনেশন ফাংশন রয়েছে যা একটি ম্যাট্রিক্স প্রদান করে, প্রতিটি কলাম একটি সংমিশ্রণে।

আমি colSumsম্যাট্রিক্সে ফাংশনটি প্রয়োগ করি এবং সরবরাহিত টার্গেটের সমান কেবলমাত্র উপাদান রাখি।

অবশেষে, যেখানে দুটি 0s রয়েছে, দুটি ধনাত্মক পূর্ণ সংখ্যার যে কোনও সেট নকল হবে তাই আমি কলামগুলিতে একটি অনন্য ফাংশন ব্যবহার করব।

আউটপুটটি একটি ম্যাট্রিক্স যেখানে প্রতিটি কলামটি ধনাত্মক, প্যালেন্ড্রোমমিক পূর্ণসংখ্যার একটি সেট যা লক্ষ্য মানের সাথে যোগ হয়। 3 টিরও কম উপাদান ব্যবহার করা হলে এটি অলস এবং 0 টি প্রদান করে।


1
128 বাইট । +1, যদিও, Mapপ্যালিনড্রোম তৈরির দুর্দান্ত ব্যবহার !
জিউসেপ

ওহো, একটি পাওয়া 126 byter
: Giuseppe

4

জেলি , 14 বাইট

L<4aŒḂ€Ạ
ŒṗÇÐf

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

খুব, খুব অদক্ষ।


লক্ষ্যটি কোডের দৈর্ঘ্য হলেও খুব ধীর বলে মনে হচ্ছে, আমার জন্য এটি কেবল দৈর্ঘ্য নয়
RosLuP

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

4

জেলি , 17 বাইট

RŒḂÐfṗ3R¤YS⁼³$$Ðf

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

হাইপারনিট্রিনো -6 বাইট ধন্যবাদ।

সমস্ত উপায় আউটপুট। তবে আউটপুটে কিছু নকল থাকে ates


1
একটা ব্যাপার is palindromebuiltin তোমার
HyperNeutrino

এছাড়াও, আপনি যদি স্বাভাবিক (উত্থাপিত) ব্যাপ্তি ব্যবহার করেন তবে আপনি আপনার শেষ 4 টি বাইটগুলি মুছে ফেলতে পারবেন
HyperNeutrino


পুনঃটুইট এখনও পর্যন্ত ডেনিস বা এরিককেই পরাস্ত করতে পারে না। যাইহোক আমি কেটে কাটা ডিফল্ট-সংকুচিত বেস 64-এনকোড URL টি ডিক্রিপ্ট করতে যাচ্ছি ?
ব্যবহারকারী 202729

@ ব্যবহারকারী202729 হু, লিঙ্কটি সঠিকভাবে অনুলিপি করা উচিত নয়। কোডটি ছিলRŒḂÐfṗ3R¤YS⁼¥Ðf
কেয়ার্ড coinheringaahing



3

হাস্কেল , 90 86 79 বাইট

-7 বাইট লাইকনি ধন্যবাদ!

f=filter
h n=[f(>0)t|t<-mapM(\_->f(((==)<*>reverse).show)[0..n])"123",sum t==n]

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

কিছু সদৃশ সহ সমস্ত সমাধানের একটি তালিকা ফেরত দেয়।


With৯ বাইট সহ mapMএবং ঘোষণা করে f=filter: এটি অনলাইনে চেষ্টা করুন!
লাইকনি

3

জাভা (ওপেনজেডিকে 8) , 185 বাইট

n->{for(int i=0,j=n,k;++i<=--j;)if(p(i))for(k=0;k<=j-k;k++)if(p(k)&p(j-k))return new int[]{j-k,k,i};return n;}
boolean p(int n){return(""+n).equals(""+new StringBuffer(""+n).reverse());}

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

সঠিক পরিমাণটি পেতে টিআইও থেকে 1 বাইট সরিয়ে ফেলুন কারণ জমা ;দেওয়াতে ল্যাম্বডের পরে নেই।


এটি আমার মতে এটি এখন পর্যন্ত পোস্ট করা অন্য যে কোনও সমাধানের চেয়ে ভাল
রোজলুপি

@ রোসলুপি কেন, যদি আমি জিজ্ঞাসা করতে পারি?
অলিভিয়ার

কারণ শেষ
অবধি

i++<--jপরিবর্তে প্রস্তাব করুন++i<=--j
সিলিংক্যাট

2

প্রোটন , 117 বাইট

a=>filter(l=>all(p==p[by-1]for p:map(str,l)),(k=[[i,a-i]for i:1..a-1])+sum([[[i,q,j-q]for q:1..j-1]for i,j:k],[]))[0]

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

একটি সমাধান আউটপুট


920 ইনপুট হিসাবে টিওতে 1 মিনিটে আউটপুট ফেরত না ... আমি 364757698688 এর কথা বলি না তবে কেবল 920
রোজলুপি

1
পছন্দ করেছেন দক্ষতা কোড-গল্ফের কোনও গুরুত্বপূর্ণ বিষয় নয়। এটি তাত্ত্বিকভাবে সমস্ত মাপের ইনপুটগুলির জন্য কাজ করবে যাতে এটি কোনও ব্যাপার নয়; পর্যাপ্ত সময় দেওয়া হলে এটি 920
হাইপারনিউটারিনো

2

পাইথ ,  16 12  10 বাইট

ef_I#`MT./

এখানে চেষ্টা করুন!

কিভাবে এটা কাজ করে

ef_I # `এমটি। / ~ সম্পূর্ণ প্রোগ্রাম।

        ./ ~ পূর্ণসংখ্যা পার্টিশন।
 f a একটি ভেরিয়েবল টি দিয়ে ফিল্টার
     `এমটি ~ টির প্রতিটি উপাদানকে স্ট্রিং উপস্থাপনে মানচিত্র করুন।
    # Ter ফিল্টার।
  _আই ~ প্যালিনড্রোম কি? (অর্থাত্ বিপরীতমুখী?)
e last সর্বশেষ উপাদান পান।

2

05 এ বি 1 ই , 17 বাইট

LʒÂQ}U4GXNãDO¹QÏ=

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


নিম্নলিখিত হিসাবে তিনটি তালিকায় ফলাফল আউটপুট দেয়:

  • দৈর্ঘ্য 1 এর Palindromic তালিকাগুলি (আসল নম্বর IFF এটি প্যালিনড্রোমিক) ic

  • দৈর্ঘ্যের Palindromic তালিকা 2।

  • দৈর্ঘ্যের 3 টি Palindromic তালিকা।


2

অ্যাক্সিয়াম, 900 বাইট

R(x)==>return x;p(r,a)==(n:=#(a::String);if r<0 then(a=0=>R a;n=1 or a=10^(n-1)=>R(a-1);a=10^(n-1)+1=>R(a-2));if r>0 then(n=1 and a<9=>R(a+1);a=10^n-1=>R(a+2));r=0 and n=1=>1;v:=a quo 10^(n quo 2);repeat(c:=v;w:=(n rem 2>0=>v quo 10;v);repeat(c:=10*c+w rem 10;w:=w quo 10;w=0=>break);r<0=>(c<a=>R c;v:=v-1);r>0=>(c>a=>R c;v:=v+1);R(c=a=>1;0));c)
b:List INT:=[];o:INT:=0
f(a:NNI):List INT==(free b,o;o:=p(-1,o);w:=0;c:=#b;if c>0 then w:=b.1;e:=a-o;e>10000000=>R[];if w<e then repeat(w:=p(1,w);w>e=>break;b:=cons(w,b));g:List INT:=[];for i in #b..1 by-1 repeat(b.i>e=>break;g:=cons(b.i,g));if o>e then g:=cons(o,g);n:=#g;for i in 1..n repeat(x:=g.i;x=a=>R[x];3*x<a=>break;for j in i..n repeat(y:=g.j;t:=x+y;t>a=>iterate;t=a=>R[x,y];t+y<a=>break;for k in j..n repeat(z:=t+g.k;z=a=>R[x,y,g.k];z<a=>break)));[])
D(a:NNI):List INT==(free o;p(0,a)=1=>[a];o:=a;for j in 1..10 repeat(t:=f(a);#t>0=>R t);[])

পরীক্ষার কোড

--Lista random di n elmenti, casuali compresi tra "a" e "b"
randList(n:PI,a:INT,b:INT):List INT==
    r:List INT:=[]
    a>b =>r
    d:=1+b-a
    for i in 1..n repeat
          r:=concat(r,a+random(d)$INT)
    r

test()==
   a:=randList(20,1,12345678901234)
   [[i,D(i)] for i in a]

এই কোডটি যদি 1,2,3 প্যালিনড্রোমে এক্স নম্বরটি ক্ষয় করতে হয়, তবে এই কোডটি কী করে তা প্যালিনড্রোম এন <এক্স এর কাছে চেষ্টা করা এবং 2 প্যালিনড্রোমে এক্সএনকে পচে যাওয়া; যদি এক্সএন এর এই পচনের সাফল্যের সাথে 3 টি প্যালিনড্রোম পাওয়া যায়; যদি এটি ব্যর্থ হয় তবে এটি পূর্ব প্যালিনড্রোম জি <এন <এক্স এবং 2 প্যালিনড্রোমে এক্সজি পচানোর চেষ্টা করে ইত্যাদি ইউনগলফ কোড (তবে এটি কিছু বাগ সম্ভব)

 R(x)==>return x

-- se 'r'=0 ritorna 1 se 'a' e' palindrome altrimenti ritorna 0
-- se 'r'>0 ritorna la prossima palindrome >'a'
-- se 'r'<0 ritorna la prossima palindrome <'a'
p(r,a)==(n:=#(a::String);if r<0 then(a=0=>R a;n=1 or a=10^(n-1)=>R(a-1);a=10^(n-1)+1=>R(a-2));if r>0 then(n=1 and a<9=>R(a+1);a=10^n-1=>R(a+2));r=0 and n=1=>1;v:=a quo 10^(n quo 2);repeat(c:=v;w:=(n rem 2>0=>v quo 10;v);repeat(c:=10*c+w rem 10;w:=w quo 10;w=0=>break);r<0=>(c<a=>R c;v:=v-1);r>0=>(c>a=>R c;v:=v+1);R(c=a=>1;0));c)

b:List INT:=[]   -- the list of palindrome
o:INT:=0         -- the start value for search the first is a

--Decompose 'a' in 1 or 2 or 3 palindrome beginning with prev palindrome of o
--if error or fail return []
f(a:NNI):List INT==
    free b,o
    -- aggiustamento di o, come palindrome piu' piccola di o
    o:=p(-1,o)
    -- aggiustamento di b come l'insieme delle palindromi tra 1..a-o compresa
    w:=0;c:=#b
    if c>0 then w:=b.1 --in w la massima palindrome presente in b
    e:=a-o
    output["e=",e,"w=",w,"o=",o,"#b=",#b]
    e>10000000=>R[]   --impongo che la palindrome massima e' 10000000-1
    if w<e then       --se w<a-o aggiungere a b tutte le palindromi tra w+1..a-o
          repeat(w:=p(1,w);w>e=>break;b:=cons(w,b))
                      -- g e' l'insieme dei b palindromi tra 1..a-o,o
    g:List INT:=[];for i in #b..1 by-1 repeat(b.i>e=>break;g:=cons(b.i,g))
    if o>e then g:=cons(o,g)
    --output["g=",g,b]
    n:=#g
    for i in 1..n repeat
        x:=g.i
        x=a  =>R[x]
        3*x<a=>break
        for j in i..n repeat
           y:=g.j;t:=x+y
           t>a   =>iterate
           t=a   =>R[x,y]
           t+y<a =>break
           for k in j..n repeat
                z:=t+g.k
                z=a =>R[x,y,g.k]
                z<a =>break
    []

--Decompose 'a' in 1 or 2 or 3 palindrome
--if error or fail return []
dPal(a:NNI):List INT==
   free o
   p(0,a)=1=>[a]
   o:=a                  -- at start it is o=a
   for j in 1..10 repeat -- try 10 start values only
        t:=f(a)
        #t>0=>R t
   []

ফলাফল:

(7) -> [[i,D(i)] for i in [5,15,21,42,132,345,1022,9265] ]
   (7)
   [[5,[5]], [15,[11,4]], [21,[11,9,1]], [42,[33,9]], [132,[131,1]],
    [345,[343,2]], [1022,[999,22,1]], [9265,[9229,33,3]]]
                                                      Type: List List Any
                                   Time: 0.02 (IN) + 0.02 (OT) = 0.03 sec
(8) -> test()
   (8)
   [[7497277417019,[7497276727947,624426,64646]],
    [11535896626131,[11535888853511,7738377,34243]],
    [2001104243257,[2001104011002,184481,47774]],
    [3218562606454,[3218561658123,927729,20602]],
    [6849377785598,[6849377739486,45254,858]],
    [375391595873,[375391193573,324423,77877]],
    [5358975936064,[5358975798535,136631,898]],
    [7167932760123,[7167932397617,324423,38083]],
    [11779002607051,[11779000097711,2420242,89098]],
    [320101573620,[320101101023,472274,323]],
    [5022244189542,[5022242422205,1766671,666]],
    [5182865851215,[5182864682815,1158511,9889]],
    [346627181013,[346626626643,485584,68786]],
    [9697093443342,[9697092907969,443344,92029]],
    [1885502599457,[1885502055881,542245,1331]], [10995589034484,[]],
    [1089930852241,[1089930399801,375573,76867]],
    [7614518487477,[7614518154167,246642,86668]],
    [11859876865045,[11859866895811,9968699,535]],
    [2309879870924,[2309879789032,81418,474]]]
                                                      Type: List List Any
      Time: 0.25 (IN) + 115.17 (EV) + 0.13 (OT) + 28.83 (GC) = 144.38 sec

1

জাভা (ওপেনজেডিকে 8) , 605 বাইট

দুপাশে মুদ্রণ করে তবে আফিক নিষিদ্ধ হয় না

a->{int i=0,j,k,r[]=new int[a-1];for(;i<a-1;r[i]=++i);for(i=0;i<a-1;i++){if(r[i]==a&(""+r[i]).equals(""+new StringBuffer(""+r[i]).reverse()))System.out.println(r[i]);for(j=0;j<a-1;j++){if(r[i]+r[j]==a&(""+r[i]).equals(""+new StringBuffer(""+r[i]).reverse())&(""+r[j]).equals(""+new StringBuffer(""+r[j]).reverse()))System.out.println(r[i]+" "+r[j]);for(k=0;k<a-1;k++)if(r[i]+r[j]+r[k]==a&(""+r[i]).equals(""+new StringBuffer(""+r[i]).reverse())&(""+r[j]).equals(""+new StringBuffer(""+r[j]).reverse())&(""+r[k]).equals(""+new StringBuffer(""+r[k]).reverse()))System.out.println(r[i]+" "+r[j]+" "+r[k]);}}}

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




1

পার্ল 6 , 51 বাইট

{first *.sum==$_,[X] 3 Rxx grep {$_ eq.flip},1..$_}

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

  • grep { $_ eq .flip }, 1 .. $_ 1 থেকে ইনপুট নম্বর পর্যন্ত সমস্ত প্যালিনড্রমিক সংখ্যার একটি তালিকা তৈরি করে।
  • 3 Rxx এই তালিকাটি তিনবার প্রতিলিপি করে।
  • [X]ক্রস-প্রোডাক্ট অপারেটরের সাথে তালিকাগুলির তালিকা হ্রাস করে X, ফলস্বরূপ প্যালিনড্রোমিনিক সংখ্যার সমস্ত 3-টিপলগুলির তালিকা 1 থেকে ইনপুট সংখ্যায় পরিণত হয়।
  • first *.sum == $_ প্রথম এই জাতীয় 3-টিপল সন্ধান করে যা ইনপুট সংখ্যার সাথে যোগফল দেয়।

বিপরীত না করে আপনি একটি বাইট সংরক্ষণ করতে পারেন xx 3
জো কিং

1

পাইথন 3 , 106 বাইট

lambda n:[(a,b,n-a-b)for a in range(n)for b in range(n)if all(f'{x}'==f'{x}'[::-1]for x in(a,b,n-a-b))][0]

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

টিআইও লিঙ্কে আমি একটি দ্রুত (তবে 1 বাইট দীর্ঘতর সংস্করণ) ব্যবহার করেছি যা সম্ভাব্য সংমিশ্রণের পুরো তালিকা তৈরির পরিবর্তে এবং প্রথমটি গ্রহণের পরিবর্তে জেনারেটর হিসাবে প্রথম বৈধ ফলাফল গ্রহণ করে।


0

রুবি , 84 বাইট

0 থেকে এন পর্যন্ত 3 টি প্যালিনড্রোমের সমস্ত সম্ভাব্য সংমিশ্রনের একটি তালিকা তৈরি করে, প্রথমটির সন্ধান করে যার সমষ্টি মেলে, তারপরে শূন্যগুলিকে ছাঁটাই করে।

->n{a=(0..n).select{|x|x.to_s==x.to_s.reverse};a.product(a,a).find{|x|x.sum==n}-[0]}

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


0

++ , 62 বাইট যুক্ত করুন

D,g,@,BDdbR=
D,l,@@,$b+=
D,k,@@*,
L,RÞgdVBcB]Gd‽kdG‽k€bF++A$Þl

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

একটি বিবরণ লেখার সময় ~ 50 বাইট গল্ফ করেছে। একটি ল্যাম্বডা ফাংশন সংজ্ঞা দেয় যা সমাধানগুলি সহ তালিকাগুলির তালিকাকে দেয়।

কিভাবে এটা কাজ করে

1,231nn

1,2,...,ngRÞggA

পরবর্তী বিভাগটি আরও তিন ভাগে বিভক্ত করা যেতে পারে:

BcB]
Gd‽k
dG‽k€bF

A[1 2 3 4 ...][[1] [2] [3] [4] ... ]Ak

D,k,@@*,

এই ফাংশনটি মূলত কিছুই করে না। এটি দুটি আর্গুমেন্ট গ্রহণ করে এবং এটিকে একটি অ্যারেতে জড়িয়ে দেয়। তবে, দ্রুত টেবিলটি এখানে ম্যাজিক ট্রিক। এটি দুটি তালিকা নেয় এবং সেই দুটি তালিকার মধ্যে প্রতিটি জুড়ি তৈরি করে elements সুতরাং [1 2 3]এবং [4 5 6]উত্পন্ন [[1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6]]। এরপরে এটি তার কার্যকরী আর্গুমেন্ট গ্রহণ করে (এই ক্ষেত্রে k) এবং প্রতিটি জোড়ের উপরে সেই ফাংশনটি চালায়, যা এই ক্ষেত্রে জুটি কেবল যেমনটি ফিরে আসে।

A€bF

1,23nln

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