Posted on by Kalkicode
Code Backtracking

# Find all subsequences of N length whose sum is even

Here given code implementation process.

``````// C Program
// Find all subsequences of N length whose sum is even
#include <stdio.h>

void subSequences(int result[],
int start, int count,
int sum, int n)
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
printf("(");
for (int i = 0; i < count; ++i)
{
printf(" %d", result[i]);
}
printf(" ) = %d \n", sum);
}
}
else
{
for (int i = 1; i <= n; ++i)
{
// Collect elements
result[count] = i;
subSequences(result, i,
count + 1,
sum + i,
n);
}
}
}
void evenSumSequence(int n)
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
int result[n];
subSequences(result, 1, 0, 0, n);
}
int main()
{
// length and (1...n number)
int n = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
evenSumSequence(3);
return 0;
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````// Java program for
// Find all subsequences of N length whose sum is even
public class Combination
{
public void subSequences(int[] result,
int start, int count,
int sum, int n)
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
System.out.print("(");
for (int i = 0; i < count; ++i)
{
System.out.print(" " + result[i]);
}
System.out.print(" ) = " + sum + " \n");
}
}
else
{
for (int i = 1; i <= n; ++i)
{
// Collect elements
result[count] = i;
subSequences(result, i,
count + 1,
sum + i,
n);
}
}
}
public void evenSumSequence(int n)
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
int[] result = new int[n];
subSequences(result, 1, 0, 0, n);
}
public static void main(String[] args)
{
// length and (1...n number)
int n = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````// Include header file
#include <iostream>

using namespace std;
// C++ program for
// Find all subsequences of N length whose sum is even
class Combination
{
public: void subSequences(int result[], int start,
int count, int sum, int n)
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
cout << "(";
for (int i = 0; i < count; ++i)
{
cout << " " << result[i];
}
cout << " ) = " << sum << " \n";
}
}
else
{
for (int i = 1; i <= n; ++i)
{
// Collect elements
result[count] = i;
this->subSequences(result, i,
count + 1,
sum + i,
n);
}
}
}
void evenSumSequence(int n)
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
int result[n];
this->subSequences(result, 1, 0, 0, n);
}
};
int main()
{
// length and (1...n number)
int n = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
return 0;
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````// Include namespace system
using System;
// Csharp program for
// Find all subsequences of N length whose sum is even
public class Combination
{
public void subSequences(int[] result,
int start, int count,
int sum, int n)
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
Console.Write("(");
for (int i = 0; i < count; ++i)
{
Console.Write(" " + result[i]);
}
Console.Write(" ) = " + sum + " \n");
}
}
else
{
for (int i = 1; i <= n; ++i)
{
// Collect elements
result[count] = i;
this.subSequences(result, i,
count + 1,
sum + i,
n);
}
}
}
public void evenSumSequence(int n)
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
int[] result = new int[n];
this.subSequences(result, 1, 0, 0, n);
}
public static void Main(String[] args)
{
// length and (1...n number)
int n = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````package main
import "fmt"
// Go program for
// Find all subsequences of N length whose sum is even
type Combination struct {}
func getCombination() * Combination {
var me *Combination = &Combination {}
return me
}
func(this Combination) subSequences(result[] int,
start int,
count int,
sum int,
n int) {
if count == n {
if sum % 2 == 0 {
// Display resultant sequence
fmt.Print("(")
for i := 0 ; i < count ; i++ {
fmt.Print(" ", result[i])
}
fmt.Print(" ) = ", sum, " \n")
}
} else {
for i := 1 ; i <= n ; i++ {
// Collect elements
result[count] = i
this.subSequences(result, i,
count + 1, sum + i, n)
}
}
}
func(this Combination) evenSumSequence(n int) {
if n <= 0 {
return
}
// Auxiliary array which is collect result
var result = make([] int, n)
this.subSequences(result, 1, 0, 0, n)
}
func main() {
var task * Combination = getCombination()
// length and (1...n number)
var n int = 3
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````<?php
// Php program for
// Find all subsequences of N length whose sum is even
class Combination
{
public	function subSequences(\$result,
\$start,
\$count,
\$sum,
\$n)
{
if (\$count == \$n)
{
if (\$sum % 2 == 0)
{
// Display resultant sequence
echo("(");
for (\$i = 0; \$i < \$count; ++\$i)
{
echo(" ".\$result[\$i]);
}
echo(" ) = ".\$sum.
" \n");
}
}
else
{
for (\$i = 1; \$i <= \$n; ++\$i)
{
// Collect elements
\$result[\$count] = \$i;
\$this->subSequences(\$result, \$i,
\$count + 1,
\$sum + \$i,
\$n);
}
}
}
public	function evenSumSequence(\$n)
{
if (\$n <= 0)
{
return;
}
// Auxiliary array which is collect result
\$result = array_fill(0, \$n, 0);
\$this->subSequences(\$result, 1, 0, 0, \$n);
}
}

function main()
{
// length and (1...n number)
\$n = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}
main();``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````// Node JS program for
// Find all subsequences of N length whose sum is even
class Combination
{
subSequences(result, start, count, sum, n)
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
process.stdout.write("(");
for (var i = 0; i < count; ++i)
{
process.stdout.write(" " + result[i]);
}
process.stdout.write(" ) = " + sum + " \n");
}
}
else
{
for (var i = 1; i <= n; ++i)
{
// Collect elements
result[count] = i;
this.subSequences(result, i,
count + 1,
sum + i, n);
}
}
}
evenSumSequence(n)
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
var result = Array(n).fill(0);
this.subSequences(result, 1, 0, 0, n);
}
}

function main()
{
// length and (1...n number)
var n = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}
main();``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````#  Python 3 program for
#  Find all subsequences of N length whose sum is even
class Combination :
def subSequences(self, result, start, count, sum, n) :
if (count == n) :
if (sum % 2 == 0) :
#  Display resultant sequence
print("(", end = "")
i = 0
while (i < count) :
print("", result[i], end = "")
i += 1

print(" ) = ", sum ," ")

else :
i = 1
while (i <= n) :
#  Collect elements
result[count] = i
self.subSequences(result, i,
count + 1,
sum + i,
n)
i += 1

def evenSumSequence(self, n) :
if (n <= 0) :
return

#  Auxiliary list which is collect result
result = [0] * (n)
self.subSequences(result, 1, 0, 0, n)

def main() :
#  length and (1...n number)
n = 3
#    ( 1 1 2 ) = 4
#    ( 1 2 1 ) = 4
#    ( 1 2 3 ) = 6
#    ( 1 3 2 ) = 6
#    ( 2 1 1 ) = 4
#    ( 2 1 3 ) = 6
#    ( 2 2 2 ) = 6
#    ( 2 3 1 ) = 6
#    ( 2 3 3 ) = 8
#    ( 3 1 2 ) = 6
#    ( 3 2 1 ) = 6
#    ( 3 2 3 ) = 8
#    ( 3 3 2 ) = 8
#  Test

if __name__ == "__main__": main()``````

#### Output

``````( 1 1 2 ) =  4
( 1 2 1 ) =  4
( 1 2 3 ) =  6
( 1 3 2 ) =  6
( 2 1 1 ) =  4
( 2 1 3 ) =  6
( 2 2 2 ) =  6
( 2 3 1 ) =  6
( 2 3 3 ) =  8
( 3 1 2 ) =  6
( 3 2 1 ) =  6
( 3 2 3 ) =  8
( 3 3 2 ) =  8``````
``````#  Ruby program for
#  Find all subsequences of N length whose sum is even
class Combination
def subSequences(result, start, count, sum, n)
if (count == n)
if (sum % 2 == 0)
#  Display resultant sequence
print("(")
i = 0
while (i < count)
print(" ", result[i])
i += 1
end

print(" ) = ", sum ," \n")
end

else

i = 1
while (i <= n)
#  Collect elements
result[count] = i
self.subSequences(result, i,
count + 1,
sum + i, n)
i += 1
end

end

end

def evenSumSequence(n)
if (n <= 0)
return
end

#  Auxiliary array which is collect result
result = Array.new(n) {0}
self.subSequences(result, 1, 0, 0, n)
end

end

def main()
#  length and (1...n number)
n = 3
#    ( 1 1 2 ) = 4
#    ( 1 2 1 ) = 4
#    ( 1 2 3 ) = 6
#    ( 1 3 2 ) = 6
#    ( 2 1 1 ) = 4
#    ( 2 1 3 ) = 6
#    ( 2 2 2 ) = 6
#    ( 2 3 1 ) = 6
#    ( 2 3 3 ) = 8
#    ( 3 1 2 ) = 6
#    ( 3 2 1 ) = 6
#    ( 3 2 3 ) = 8
#    ( 3 3 2 ) = 8
#  Test
end

main()``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
``````
``````// Scala program for
// Find all subsequences of N length whose sum is even
class Combination()
{
def subSequences(result: Array[Int],
start: Int, count: Int,
sum: Int, n: Int): Unit = {
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
print("(");
var i: Int = 0;
while (i < count)
{
print(" " + result(i));
i += 1;
}
print(" ) = " + sum + " \n");
}
}
else
{
var i: Int = 1;
while (i <= n)
{
// Collect elements
result(count) = i;
subSequences(result, i,
count + 1,
sum + i,
n);
i += 1;
}
}
}
def evenSumSequence(n: Int): Unit = {
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
var result: Array[Int] = Array.fill[Int](n)(0);
subSequences(result, 1, 0, 0, n);
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Combination = new Combination();
// length and (1...n number)
var n: Int = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````
``````// Swift 4 program for
// Find all subsequences of N length whose sum is even
class Combination
{
func subSequences(
_ result: inout[Int],
_ start: Int,
_ count: Int,
_ sum: Int,
_ n: Int)
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
print("(", terminator: "");
var i: Int = 0;
while (i < count)
{
print(" ", result[i], terminator: "");
i += 1;
}
print(" ) = ", sum ," ");
}
}
else
{
var i: Int = 1;
while (i <= n)
{
// Collect elements
result[count] = i;
self.subSequences(&result, i,
count + 1,
sum + i, n);
i += 1;
}
}
}
func evenSumSequence(_ n: Int)
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
var result: [Int] = Array(repeating: 0, count: n);
self.subSequences(&result, 1, 0, 0, n);
}
}
func main()
{
// length and (1...n number)
let n: Int = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}
main();``````

#### Output

``````(  1  1  2 ) =  4
(  1  2  1 ) =  4
(  1  2  3 ) =  6
(  1  3  2 ) =  6
(  2  1  1 ) =  4
(  2  1  3 ) =  6
(  2  2  2 ) =  6
(  2  3  1 ) =  6
(  2  3  3 ) =  8
(  3  1  2 ) =  6
(  3  2  1 ) =  6
(  3  2  3 ) =  8
(  3  3  2 ) =  8``````
``````// Kotlin program for
// Find all subsequences of N length whose sum is even
class Combination
{
fun subSequences(result: Array < Int > ,
count: Int,
sum: Int, n: Int): Unit
{
if (count == n)
{
if (sum % 2 == 0)
{
// Display resultant sequence
print("(");
var i: Int = 0;
while (i < count)
{
print(" " + result[i]);
i += 1;
}
print(" ) = " + sum + " \n");
}
}
else
{
var i: Int = 1;
while (i <= n)
{
// Collect elements
result[count] = i;
this.subSequences(result,
count + 1, sum + i, n);
i += 1;
}
}
}
fun evenSumSequence(n: Int): Unit
{
if (n <= 0)
{
return;
}
// Auxiliary array which is collect result
var result: Array < Int > = Array(n)
{
0
};
this.subSequences(result, 0, 0, n);
}
}
fun main(args: Array < String > ): Unit
{
// length and (1...n number)
val n: Int = 3;
/*
( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8
*/
// Test
}``````

#### Output

``````( 1 1 2 ) = 4
( 1 2 1 ) = 4
( 1 2 3 ) = 6
( 1 3 2 ) = 6
( 2 1 1 ) = 4
( 2 1 3 ) = 6
( 2 2 2 ) = 6
( 2 3 1 ) = 6
( 2 3 3 ) = 8
( 3 1 2 ) = 6
( 3 2 1 ) = 6
( 3 2 3 ) = 8
( 3 3 2 ) = 8``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post