Print all permutations with repetition of characters

Here given code implementation process.

// C Program
// Print all permutations with repetition of characters
#include <stdio.h>

// Method which is print all permutations of given string
void allPermutation(char str[], char result[], int n, int size)
{
	// Execute loop through by string length
	for (int i = 0; i < size; ++i)
	{
		// Assign current element into result space
		result[n] = str[i];
		if (n == size - 1)
		{
			// When n is equal to last position of string
			printf("\n %s", result);
		}
		else
		{
			// Recursively, finding other permutation
			allPermutation(str, result, n + 1, size);
		}
	}
}
// Handle request to find permutation of repetition characters
void findPermutation(char str[], int size)
{
	// Auxiliary space to store permutations result
	char result[size];
	printf("\n Given String %s", str);
	// Print permutation
	allPermutation(str, result, 0, size);
}
int main()
{
	// Given string is form of array
	char str[] = "XYZ";
	// Get the size 
	int size = sizeof(str) / sizeof(str[0]) - 1;
	// Test
	findPermutation(str, size);
	return 0;
}

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
/*
  Java Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	// Method which is print all permutations of given string
	public void allPermutation(String str, char[] result, int n, int size)
	{
		// Execute loop through by string length
		for (int i = 0; i < size; ++i)
		{
			// Assign current element into result space
			result[n] = str.charAt(i);
			if (n == size - 1)
			{
				String ans = new String(result);
				// When n is equal to last position of string
				System.out.print("\n " + ans);
			}
			else
			{
				// Recursively, finding other permutation
				allPermutation(str, result, n + 1, size);
			}
		}
	}
	// Handle request to find permutation of repetition characters
	public void findPermutation(String str, int size)
	{
		System.out.print("\n Given String " + str);
		// Use to collect permutation
		char[] result = new char[size];
		// Print permutation
		allPermutation(str, result, 0, size);
	}
	public static void main(String[] args)
	{
		Permutation task = new Permutation();
		// Given text
		String str = "XYZ";
		// Get number of characters	
		int size = str.length();
		// Test
		task.findPermutation(str, size);
	}
}

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
// Include header file
#include <iostream>
#include <string>
using namespace std;

/*
  C++ Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	public:
		// Method which is print all permutations of given string
		void allPermutation(string str, char result[], int n, int size)
		{
			// Execute loop through by string length
			for (int i = 0; i < size; ++i)
			{
				// Assign current element into result space
				result[n] = str[i];
				if (n == size - 1)
				{
					
					// When n is equal to last position of string
					cout << "\n " << result;
				}
				else
				{
					// Recursively, finding other permutation
					this->allPermutation(str, result, n + 1, size);
				}
			}
		}
	// Handle request to find permutation of repetition characters
	void findPermutation(string str, int size)
	{
		cout << "\n Given String " << str;
		// Use to collect permutation
		char result[size];
		// Print permutation
		this->allPermutation(str, result, 0, size);
	}
};
int main()
{
	Permutation task = Permutation();
	// Given text
	string str = "XYZ";
	// Get number of characters
	int size = str.length();
	// Test
	task.findPermutation(str, size);
	return 0;
}

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
// Include namespace system
using System;
/*
  C# Program 
  Print all permutations with repetition of characters
*/
public class Permutation
{
	// Method which is print all permutations of given string
	public void allPermutation(String str, char[] result, int n, int size)
	{
		// Execute loop through by string length
		for (int i = 0; i < size; ++i)
		{
			// Assign current element into result space
			result[n] = str[i];
			if (n == size - 1)
			{
				String ans = new String(result);
				// When n is equal to last position of string
				Console.Write("\n " + ans);
			}
			else
			{
				// Recursively, finding other permutation
				allPermutation(str, result, n + 1, size);
			}
		}
	}
	// Handle request to find permutation of repetition characters
	public void findPermutation(String str, int size)
	{
		Console.Write("\n Given String " + str);
		// Use to collect permutation
		char[] result = new char[size];
		// Print permutation
		allPermutation(str, result, 0, size);
	}
	public static void Main(String[] args)
	{
		Permutation task = new Permutation();
		// Given text
		String str = "XYZ";
		// Get number of characters
		int size = str.Length;
		// Test
		task.findPermutation(str, size);
	}
}

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
<?php
/*
  Php Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	// Method which is print all permutations of given string
	public	function allPermutation($str, & $result, $n, $size)
	{
		// Execute loop through by string length
		for ($i = 0; $i < $size; ++$i)
		{
			// Assign current element into result space
			$result[$n] = $str[$i];
			if ($n == $size - 1)
			{
				
				// When n is equal to last position of string
				echo "\n ". implode("",$result);
			}
			else
			{
				// Recursively, finding other permutation
				$this->allPermutation($str, $result, $n + 1, $size);
			}
		}
	}
	// Handle request to find permutation of repetition characters
	public	function findPermutation($str, $size)
	{
		echo "\n Given String ". $str;
		// Use to collect permutation
		$result = array_fill(0, $size, ' ');
		// Print permutation
		$this->allPermutation($str, $result, 0, $size);
	}
}

function main()
{
	$task = new Permutation();
	// Given text
	$str = "XYZ";
	// Get number of characters
	$size = strlen($str);
	$task->findPermutation($str, $size);
}
main();

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
/*
  Node Js Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	// Method which is print all permutations of given string
	allPermutation(str, result, n, size)
	{
		// Execute loop through by string length
		for (var i = 0; i < size; ++i)
		{
			// Assign current element into result space
			result[n] = str.charAt(i);
			if (n == size - 1)
			{
				var ans = result.join("");
				// When n is equal to last position of string
				process.stdout.write("\n " + ans);
			}
			else
			{
				// Recursively, finding other permutation
				this.allPermutation(str, result, n + 1, size);
			}
		}
	}
	// Handle request to find permutation of repetition characters
	findPermutation(str, size)
	{
		process.stdout.write("\n Given String " + str);
		// Use to collect permutation
		var result = Array(size).fill(' ');
		// Print permutation
		this.allPermutation(str, result, 0, size);
	}
}

function main()
{
	var task = new Permutation();
	// Given text
	var str = "XYZ";
	// Get number of characters
	var size = str.length;
	// Test
	task.findPermutation(str, size);
}
main();

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
#   Python 3 Program 
#   Print all permutations with repetition of characters

class Permutation :
	#  Method which is print all permutations of given string
	def allPermutation(self, text, result, n, size) :
		#  Execute loop through by string length
		i = 0
		while (i < size) :
			#  Assign current element into result space
			result[n] = text[i]
			if (n == size - 1) :
				#  When n is equal to last position of string
				print("\n ", result, end = "")
			else :
				#  Recursively, finding other permutation
				self.allPermutation(text, result, n + 1, size)
			
			i += 1
		
	
	#  Handle request to find permutation of repetition characters
	def findPermutation(self, text, size) :
		print("\n Given String ", text, end = "")
		#  Use to collect permutation
		result = [ ' '] * (size)
		#  Print permutation
		self.allPermutation(text, result, 0, size)
	

def main() :
	task = Permutation()
	#  Given text
	text = "XYZ"
	#  Get number of characters
	size = len(text)
	#  Test
	task.findPermutation(text, size)

if __name__ == "__main__": main()

Output

 Given String  XYZ
  ['X', 'X', 'X']
  ['X', 'X', 'Y']
  ['X', 'X', 'Z']
  ['X', 'Y', 'X']
  ['X', 'Y', 'Y']
  ['X', 'Y', 'Z']
  ['X', 'Z', 'X']
  ['X', 'Z', 'Y']
  ['X', 'Z', 'Z']
  ['Y', 'X', 'X']
  ['Y', 'X', 'Y']
  ['Y', 'X', 'Z']
  ['Y', 'Y', 'X']
  ['Y', 'Y', 'Y']
  ['Y', 'Y', 'Z']
  ['Y', 'Z', 'X']
  ['Y', 'Z', 'Y']
  ['Y', 'Z', 'Z']
  ['Z', 'X', 'X']
  ['Z', 'X', 'Y']
  ['Z', 'X', 'Z']
  ['Z', 'Y', 'X']
  ['Z', 'Y', 'Y']
  ['Z', 'Y', 'Z']
  ['Z', 'Z', 'X']
  ['Z', 'Z', 'Y']
  ['Z', 'Z', 'Z']
#   Ruby Program 
#   Print all permutations with repetition of characters

class Permutation 
	#  Method which is print all permutations of given string
	def allPermutation(str, result, n, size) 
		#  Execute loop through by string length
		i = 0
		while (i < size) 
			#  Assign current element into result space
			result[n] = str[i]
			if (n == size - 1) 
				
				#  When n is equal to last position of string
				print("\n ", result)
			else 
				#  Recursively, finding other permutation
				self.allPermutation(str, result, n + 1, size)
			end

			i += 1
		end

	end

	#  Handle request to find permutation of repetition characters
	def findPermutation(str, size) 
		print("\n Given String ", str)
		#  Use to collect permutation
		result = Array.new(size) { ' '
		}
		#  Print permutation
		self.allPermutation(str, result, 0, size)
	end

end

def main() 
	task = Permutation.new()
	#  Given text
	str = "XYZ"
	#  Get number of characters
	size = str.length
	#  Test
	task.findPermutation(str, size)
end

main()

Output

 Given String XYZ
 ["X", "X", "X"]
 ["X", "X", "Y"]
 ["X", "X", "Z"]
 ["X", "Y", "X"]
 ["X", "Y", "Y"]
 ["X", "Y", "Z"]
 ["X", "Z", "X"]
 ["X", "Z", "Y"]
 ["X", "Z", "Z"]
 ["Y", "X", "X"]
 ["Y", "X", "Y"]
 ["Y", "X", "Z"]
 ["Y", "Y", "X"]
 ["Y", "Y", "Y"]
 ["Y", "Y", "Z"]
 ["Y", "Z", "X"]
 ["Y", "Z", "Y"]
 ["Y", "Z", "Z"]
 ["Z", "X", "X"]
 ["Z", "X", "Y"]
 ["Z", "X", "Z"]
 ["Z", "Y", "X"]
 ["Z", "Y", "Y"]
 ["Z", "Y", "Z"]
 ["Z", "Z", "X"]
 ["Z", "Z", "Y"]
 ["Z", "Z", "Z"]
/*
  Scala Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	// Method which is print all permutations of given string
	def allPermutation(str: String, result: Array[Character], n: Int, size: Int): Unit = {
		// Execute loop through by string length
		var i: Int = 0;
		while (i < size)
		{
			// Assign current element into result space
			result(n) = str.charAt(i);
			if (n == size - 1)
			{
				var ans: String =  result.mkString("");
				// When n is equal to last position of string
				print("\n " + ans);
			}
			else
			{
				// Recursively, finding other permutation
				this.allPermutation(str, result, n + 1, size);
			}
			i += 1;
		}
	}
	// Handle request to find permutation of repetition characters
	def findPermutation(str: String, size: Int): Unit = {
		print("\n Given String " + str);
		// Use to collect permutation
		var result: Array[Character] = Array.fill[Character](size)(' ');
		// Print permutation
		this.allPermutation(str, result, 0, size);
	}
}
object Main
{
	def main(args: Array[String]): Unit = {
		var task: Permutation = new Permutation();
		// Given text
		var str: String = "XYZ";
		// Get number of characters
		var size: Int = str.length();
		// Test
		task.findPermutation(str, size);
	}
}

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ
import Foundation
/*
  Swift 4 Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	// Method which is print all permutations of given string
	func allPermutation(_ str: [Character], _ result: inout[Character], _ n: Int, _ size: Int)
	{
		// Execute loop through by string length
		var i: Int = 0;
		while (i < size)
		{
			// Assign current element into result space
			result[n] = str[i];
			if (n == size - 1)
			{
				let ans: String = String(result);
				// When n is equal to last position of string
				print("\n ", ans, terminator: "");
			}
			else
			{
				// Recursively, finding other permutation
				self.allPermutation(str, &result, n + 1, size);
			}
			i += 1;
		}
	}
	// Handle request to find permutation of repetition characters
	func findPermutation(_ str: String, _ size: Int)
	{
		print("\n Given String ", str, terminator: "");
		// Use to collect permutation
		var result: [Character] = Array(repeating: " ", count: size);
		// Print permutation
		self.allPermutation(Array(str), &result, 0, size);
	}
}
func main()
{
	let task: Permutation = Permutation();
	// Given text
	let str: String = "XYZ";
	// Get number of characters
	let size: Int = str.count;
	// Test
	task.findPermutation(str, size);
}
main();

Output

 Given String  XYZ
  XXX
  XXY
  XXZ
  XYX
  XYY
  XYZ
  XZX
  XZY
  XZZ
  YXX
  YXY
  YXZ
  YYX
  YYY
  YYZ
  YZX
  YZY
  YZZ
  ZXX
  ZXY
  ZXZ
  ZYX
  ZYY
  ZYZ
  ZZX
  ZZY
  ZZZ
/*
  Kotlin Program 
  Print all permutations with repetition of characters
*/
class Permutation
{
	// Method which is print all permutations of given string
	fun allPermutation(str: String, result: Array < Char > , n: Int, size: Int): Unit
	{
		// Execute loop through by string length
		var i: Int = 0;
		while (i < size)
		{
			// Assign current element into result space
			result[n] = str.get(i);
			if (n == size - 1)
			{
				var ans: String = result.joinToString(separator = "");
				// When n is equal to last position of string
				print("\n " + ans);
			}
			else
			{
				// Recursively, finding other permutation
				this.allPermutation(str, result, n + 1, size);
			}
			i += 1;
		}
	}
	// Handle request to find permutation of repetition characters
	fun findPermutation(str: String, size: Int): Unit
	{
		print("\n Given String " + str);
		// Use to collect permutation
		var result: Array < Char > = Array(size)
		{
			' '
		};
		// Print permutation
		this.allPermutation(str, result, 0, size);
	}
}
fun main(args: Array < String > ): Unit
{
	var task: Permutation = Permutation();
	// Given text
	var str: String = "XYZ";
	// Get number of characters
	var size: Int = str.length;
	// Test
	task.findPermutation(str, size);
}

Output

 Given String XYZ
 XXX
 XXY
 XXZ
 XYX
 XYY
 XYZ
 XZX
 XZY
 XZZ
 YXX
 YXY
 YXZ
 YYX
 YYY
 YYZ
 YZX
 YZY
 YZZ
 ZXX
 ZXY
 ZXZ
 ZYX
 ZYY
 ZYZ
 ZZX
 ZZY
 ZZZ


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.

New Comment







© 2021, kalkicode.com, All rights reserved