জাভাস্ক্রিপ্ট (ES6), 123 118 115 111 104 96 বাইট
@ আরনাউল্ডকে 4 টি বাইট সংরক্ষণ করা হয়েছে
G=n=>n?G(n>>1,++a[n%2]):a.some(n=>(P=x=>n%--x?P(x):x)(n)-1)
F=n=>F(n-1,G(n,a=[0,0,n])||alert(n))
তিনটি সাধারণ পুনরাবৃত্তির ক্রিয়াগুলির সংমিশ্রণ। ক্রমটি বিপরীত ক্রমে সতর্ক করে এবং একটি "অত্যধিক পুনরাবৃত্তি" ত্রুটিতে শেষ হয়।
পরীক্ষার স্নিপেট
(পৃষ্ঠায় আউটপুট রূপান্তরিত)
alert = s => O.textContent += s + "\n"
G=n=>n?G(n>>1,++a[n%2]):a.some(n=>(P=x=>n%--x?P(x):x)(n)-1)
F=n=>F(n-1,G(n,a=[0,0,n])||alert(n))
F(1000)
<pre id=O></pre>
প্রধান ফাংশনটি 104 বাইটের জন্য একটি অ্যারে ফিরিয়ে দিতে পারে:
G=n=>n?G(n>>1,++a[n%2]):a.some(n=>(P=x=>n%--x?P(x):x)(n)-1)
F=n=>n?F(n-1).concat(G(n,a=[0,0,n])?[]:n):[]
এটি অন্য বাইটের দামেও পুনরাবৃত্তিযোগ্য হতে পারে:
G=n=>n?G(n>>1,++a[n%2]):a.some(n=>(P=x=>n%--x?P(x):x)(n)-1)
n=>[for(_ of Array(n))if(!G(--n,a=[0,0,n]))n]
আমি যেটি দিয়ে শুরু করেছি তা এখানে: (@ অর্ণাড্ডকে ধন্যবাদ 6 বাইট সংরক্ষিত)
P=(n,x=n)=>n>1&--x<2||n%x&&P(n,x)
G=n=>n?G(n>>1,o+=n%2,t++):P(o)&P(t-o)
F=n=>n?F(n-1).concat(P(n)&G(n,o=t=0)?n:[]):[]
আমি এটি আরও গল্ফ করার চেষ্টা করেছি এবং এটি 104 বাইটে পরিচালনা করতে পেরেছি - তখন বুঝতে পেরেছি যে আমি ইতিমধ্যে সমাধানটি খুঁজে পেয়েছি (এটি উত্তরের নীচে রয়েছে)। আপনি যখন এটি ঘৃণা করবেন না? : P: P
মূল ফাংশনে একটি পুনরাবৃত্তি প্রচেষ্টা (আবার, একই বাইট গণনা):
n=>[for(i of Array(n))if(P(--n)&G(n,o=t=0))n]
বাইনারি উপস্থাপনায় এটি কতটি 0 এবং 1 এর গণনা করার সহজ রুট নেয়:
F=n=>n?F(n-1).concat([n,(G=x=>n.toString(2).split(x).length-1)(0),G(1)].some(n=>(P=x=>n%--x?P(x):x)(n)-1)?[]:n):[]
অ্যারে বোঝার সাথে একই জিনিস:
n=>[for(_ of Array(n))if(![--n,(G=x=>n.toString(2).split(x).length-1)(0),G(1)].some(n=>(P=x=>n%--x?P(x):x)(n)-1))n]
এটি একই কাজ করতে কিছুটা শক্ত রুট নেয়:
F=n=>n?F(n-1).concat([n,(G=(x,w=n)=>w&&G(x,w>>1)+(w%2==x))(0),G(1)].some(n=>(P=x=>n%--x?P(x):x)(n)-1)?[]:n):[]
এবং এটির সাথে আরেকটি সম্পর্কিত রুট রয়েছে যা মূলের তুলনায় ছোট:
F=n=>n?F(n-1).concat([n,o=(G=x=>x&&x%2+G(n>>++t))(n,t=0),t-o].some(n=>(P=x=>n%--x?P(x):x)(n)-1)?[]:n):[]
আবার, আপনি বিপরীত ক্রমে ক্রমটি সতর্ক করে 8 বাইট গল্ফ করতে পারেন:
F=n=>F(n-1,[n,o=(G=x=>x&&x%2+G(n>>++t))(n,t=0),t-o].some(n=>(P=x=>n%--x?P(x):x)(n)-1)||alert(n))