Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int[] seq = new int[num/2];
- int seqIndex = 0;
- int prime = highestPrimes[num+1];
- int solves = 0;
- for(;;) {
- num -= prime;
- seq[seqIndex++] = prime;
- if(num == 0) {
- ++solves;
- seqs.add(seq);
- }
- if(num <= 0) {
- prime = -1;
- }
- while(prime < 0 && seqIndex > 0) {
- prime = seq[--seqIndex];
- num += prime;
- prime = highestPrimes[prime];
- }
- if(prime < 0 && seqIndex <= 0) {
- break;
- }
- }
- /*
- Output:
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- 12: 2 2 2 2 2 2
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement