জাভা 10, 195 194 184 182 বাইট
n->{var L=new java.util.Stack();int i=1,k,x,s,r=0;for(;i++<n;){for(k=1;i%++k>0;);if(k==i)L.add(i);}for(x=L.size(),i=0;i<x;)for(k=i++,s=0;k<x;r+=s==n?1:0)s+=(int)L.get(k++);return r;}
-1 বাইট @ সিলিংক্যাট ধন্যবাদ ।
-10 ধন্যবাদ বাইট @SaraJ ।
এটি অনলাইনে চেষ্টা করুন।
ব্যাখ্যা:
n->{ // Method with integer as both parameter and return-type
var L=new java.util.Stack();
// List of primes, starting empty
int i=1,k,x,s, // Temp integers
r=0; // Result-counter, starting at 0
for(;i++<n;){ // Loop `i` in the range [2, `n`]
for(k=1; // Set `k` to 1
i%++k>0;); // Inner loop which increases `k` by 1 before every iteration,
// and continues as long as `i` is not divisible by `k`
if(k==i) // If `k` is now still the same as `i`; a.k.a. if `i` is a prime:
L.add(i);} // Add the prime to the List
for(x=L.size(), // Get the amount of primes in the List
i=0;i<x;) // Loop `i` in the range [0, amount_of_primes)
for(s=0, // (Re)set the sum to 0
k=i++;k<x; // Inner loop `k` in the range [`i`, amount_of_primes)
r+=s==n? // After every iteration, if the sum is equal to the input:
1 // Increase the result-counter by 1
: // Else:
0) // Leave the result-counter the same by adding 0
s+=(int)L.get(k++);
// Add the next prime (at index `k`) to the sum
return r;} // And finally return the result-counter
এটি মূলত জেলি বা 05AB1E উত্তরের মতোই , ঠিক 190 বাইট আরও বেশি .. এক্সডি
এখানে প্রতিটি অংশের জন্য একটি তুলনা করা হয়েছে, কেবল মজা করার জন্য যুক্ত করা হয়েছে (এবং জাভাটি কেন ভার্বোজ , এবং এই গল্ফ ভাষাগুলি এত শক্তিশালী) তা দেখার জন্য:
- ইনপুটটি নিন: (জেলি: 0 বাইট) সুস্পষ্টভাবে ; (05AB1E: 0 বাইট) সুস্পষ্টভাবে ; (জাভা 10: 5 বাইট)
n->{}
- পরিসীমাতে প্রাইমগুলির একটি তালিকা তৈরি করুন
[2, n]
: (জেলি: 2 বাইট) ÆR
; (05AB1E: 2 বাইট) ÅP
; (জাভা 10: 95 বাইট)var L=new java.util.Stack();int i=1,k,x,s,r=0;for(;i++<n;){for(k=1;i%++k>0;);if(k==i)L.add(i);}
- সমস্ত ক্রমাগত উপ-তালিকা পান: (জেলি: 1 বাইট)
Ẇ
; (05AB1E: 1 বাইট) Œ
; (জাভা 10: 55 বাইট)for(x=L.size(),i=0;i<x;)for(k=i++;k<x;)
এবং(int)L.get(k++);
- প্রতিটি উপ-তালিকা যোগ করুন: (জেলি: 1 বাইট)
§
; (05AB1E: 1 বাইট) O
; (জাভা 10: 9 বাইট) ,s
এবং,s=0
এবংs+=
- ইনপুট সমান এগুলি গণনা করুন: (জেলি: 1 বাইট)
ċ
; (05AB1E: 2 বাইট) QO
; (জাভা 10: 15 বাইট) ,r=0
এবংr+=s==n?1:0
- ফলাফল আউটপুট: (জেলি: 0 বাইট) সুস্পষ্টভাবে ; (05AB1E: 0 বাইট) সুস্পষ্টভাবে ; (জাভা 10: 9 বাইট)
return r;
2æR
এর মতইÆR