Find all subsequences of string which divisible by k
Here given code implementation process.
/*
Java program for
Find all subsequences of string which divisible by k
*/
public class Divisibility
{
int findDivisibleByK(String text, String output,
int index, int remainder, int k, int n)
{
int result = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
System.out.print("\n " + output);
// increase result
result = 1;
}
// This loop controlling the subsequences process.
for (int i = index; i < n; ++i)
{
// Recursively finding the subsequence
result += findDivisibleByK(
text, output + text.charAt(i), i + 1 ,
((remainder * 10) + (text.charAt(i) - '0')) % k, k, n);
}
return result;
}
public void divideByK(String text, int k)
{
int n = text.length();
if (k <= 0 || n == 0)
{
return;
}
// Display given number
System.out.print("\n Given Number : " + text);
// Display given k
System.out.print("\n Given K : " + k);
// Find all subsequences which is divisible by k
int result = findDivisibleByK(text, "", 0, 0, k, n);
// Display calculated number of result
System.out.println("\n Total result : " + result);
}
public static void main(String[] args)
{
Divisibility task = new Divisibility();
// Test A
// String Number : 247543
// k = 3
task.divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task.divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task.divideByK("634180725", 43);
}
}
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
// Include header file
#include <iostream>
#include <string>
using namespace std;
/*
C++ program for
Find all subsequences of string which divisible by k
*/
class Divisibility
{
public: int findDivisibleByK(
string text, string output,
int index, int remainder, int k, int n)
{
int result = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
cout << "\n " << output;
// increase result
result = 1;
}
// This loop controlling the subsequences process.
for (int i = index; i < n; ++i)
{
// Recursively finding the subsequence
result += this->findDivisibleByK(
text, output + (text[i]), i + 1,
((remainder *10) + (text[i] - '0')) % k, k, n);
}
return result;
}
void divideByK(string text, int k)
{
int n = text.length();
if (k <= 0 || n == 0)
{
return;
}
// Display given number
cout << "\n Given Number : " << text;
// Display given k
cout << "\n Given K : " << k;
// Find all subsequences which is divisible by k
int result = this->findDivisibleByK(text, "", 0, 0, k, n);
// Display calculated number of result
cout << "\n Total result : " << result << endl;
}
};
int main()
{
Divisibility *task = new Divisibility();
// Test A
// String Number : 247543
// k = 3
task->divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task->divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task->divideByK("634180725", 43);
return 0;
}
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
// Include namespace system
using System;
/*
Csharp program for
Find all subsequences of string which divisible by k
*/
public class Divisibility
{
int findDivisibleByK(
String text, String output,
int index, int remainder, int k, int n)
{
int result = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
Console.Write("\n " + output);
// increase result
result = 1;
}
// This loop controlling the subsequences process.
for (int i = index; i < n; ++i)
{
// Recursively finding the subsequence
result += this.findDivisibleByK(
text, output + text[i], i + 1,
((remainder * 10) + (text[i] - '0')) % k, k, n);
}
return result;
}
public void divideByK(String text, int k)
{
int n = text.Length;
if (k <= 0 || n == 0)
{
return;
}
// Display given number
Console.Write("\n Given Number : " + text);
// Display given k
Console.Write("\n Given K : " + k);
// Find all subsequences which is divisible by k
int result = this.findDivisibleByK(text, "", 0, 0, k, n);
// Display calculated number of result
Console.WriteLine("\n Total result : " + result);
}
public static void Main(String[] args)
{
Divisibility task = new Divisibility();
// Test A
// String Number : 247543
// k = 3
task.divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task.divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task.divideByK("634180725", 43);
}
}
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
package main
import "fmt"
/*
Go program for
Find all subsequences of string which divisible by k
*/
func findDivisibleByK(text string,
output string, index int,
remainder int, k int, n int) int {
var result int = 0
if index != 0 && remainder % k == 0 {
// Display of subsequences which is divisible by k
fmt.Print("\n ", output)
// increase result
result = 1
}
// This loop controlling the subsequences process.
for i := index ; i < n ; i++ {
// Recursively finding the subsequence
result += findDivisibleByK(text, output + string(text[i]), i + 1,
((remainder * 10) + (int(text[i]) - 48)) % k, k, n)
}
return result
}
func divideByK(text string, k int) {
var n int = len(text)
if k <= 0 || n == 0 {
return
}
// Display given number
fmt.Print("\n Given Number : ", text)
// Display given k
fmt.Print("\n Given K : ", k)
// Find all subsequences which is divisible by k
var result int = findDivisibleByK(text, "", 0, 0, k, n)
// Display calculated number of result
fmt.Println("\n Total result : ", result)
}
func main() {
// Test A
// String Number : 247543
// k = 3
divideByK("247543", 3)
// Test B
// String Number 12324
// k = 4
divideByK("12324", 4)
// Test B
// String Number 634180725
// k = 43
divideByK("634180725", 43)
}
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
<?php
/*
Php program for
Find all subsequences of string which divisible by k
*/
class Divisibility
{
function findDivisibleByK(
$text, $output, $index, $remainder, $k, $n)
{
$result = 0;
if ($index != 0 && $remainder % $k == 0)
{
// Display of subsequences which is divisible by k
echo("\n ".$output);
// increase result
$result = 1;
}
// This loop controlling the subsequences process.
for ($i = $index; $i < $n; ++$i)
{
// Recursively finding the subsequence
$result += $this->findDivisibleByK(
$text, $output.strval($text[$i]), $i + 1,
(($remainder * 10) + (ord($text[$i]) - ord('0'))) % $k,
$k, $n);
}
return $result;
}
public function divideByK($text, $k)
{
$n = strlen($text);
if ($k <= 0 || $n == 0)
{
return;
}
// Display given number
echo("\n Given Number : ".$text);
// Display given k
echo("\n Given K : ".$k);
// Find all subsequences which is divisible by k
$result = $this->findDivisibleByK($text, "", 0, 0, $k, $n);
// Display calculated number of result
echo("\n Total result : ".$result.
"\n");
}
}
function main()
{
$task = new Divisibility();
// Test A
// String Number : 247543
// k = 3
$task->divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
$task->divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
$task->divideByK("634180725", 43);
}
main();
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
/*
Node JS program for
Find all subsequences of string which divisible by k
*/
class Divisibility
{
findDivisibleByK(text, output, index, remainder, k, n)
{
var result = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
process.stdout.write("\n " + output);
// increase result
result = 1;
}
// This loop controlling the subsequences process.
for (var i = index; i < n; ++i)
{
// Recursively finding the subsequence
result += this.findDivisibleByK(
text, output + text.charAt(i), i + 1,
((remainder * 10) + (text.charCodeAt(i) - 48)) % k,
k, n);
}
return result;
}
divideByK(text, k)
{
var n = text.length;
if (k <= 0 || n == 0)
{
return;
}
// Display given number
process.stdout.write("\n Given Number : " + text);
// Display given k
process.stdout.write("\n Given K : " + k);
// Find all subsequences which is divisible by k
var result = this.findDivisibleByK(text, "", 0, 0, k, n);
// Display calculated number of result
console.log("\n Total result : " + result);
}
}
function main()
{
var task = new Divisibility();
// Test A
// String Number : 247543
// k = 3
task.divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task.divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task.divideByK("634180725", 43);
}
main();
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
# Python 3 program for
# Find all subsequences of string which divisible by k
class Divisibility :
def findDivisibleByK(self, text, output, index, remainder, k, n) :
result = 0
if (index != 0 and remainder % k == 0) :
# Display of subsequences which is divisible by k
print("\n ", output, end = "")
# increase result
result = 1
i = index
# This loop controlling the subsequences process.
while (i < n) :
# Recursively finding the subsequence
result += self.findDivisibleByK(
text, output + str(text[i]), i + 1,
((remainder * 10) + (ord(text[i]) -48)) % k, k, n)
i += 1
return result
def divideByK(self, text, k) :
n = len(text)
if (k <= 0 or n == 0) :
return
# Display given number
print("\n Given Number : ", text, end = "")
# Display given k
print("\n Given K : ", k, end = "")
# Find all subsequences which is divisible by k
result = self.findDivisibleByK(text, "", 0, 0, k, n)
# Display calculated number of result
print("\n Total result : ", result)
def main() :
task = Divisibility()
# Test A
# String Number : 247543
# k = 3
task.divideByK("247543", 3)
# Test B
# String Number 12324
# k = 4
task.divideByK("12324", 4)
# Test B
# String Number 634180725
# k = 43
task.divideByK("634180725", 43)
if __name__ == "__main__": main()
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
# Ruby program for
# Find all subsequences of string which divisible by k
class Divisibility
def findDivisibleByK(text, output, index, remainder, k, n)
result = 0
if (index != 0 && remainder % k == 0)
# Display of subsequences which is divisible by k
print("\n ", output)
# increase result
result = 1
end
i = index
# This loop controlling the subsequences process.
while (i < n)
# Recursively finding the subsequence
result += self.findDivisibleByK(
text, output + text[i].to_s, i + 1,
((remainder * 10) + (text[i].ord - '0'.ord)) % k, k, n)
i += 1
end
return result
end
def divideByK(text, k)
n = text.length
if (k <= 0 || n == 0)
return
end
# Display given number
print("\n Given Number : ", text)
# Display given k
print("\n Given K : ", k)
# Find all subsequences which is divisible by k
result = self.findDivisibleByK(text, "", 0, 0, k, n)
# Display calculated number of result
print("\n Total result : ", result, "\n")
end
end
def main()
task = Divisibility.new()
# Test A
# String Number : 247543
# k = 3
task.divideByK("247543", 3)
# Test B
# String Number 12324
# k = 4
task.divideByK("12324", 4)
# Test B
# String Number 634180725
# k = 43
task.divideByK("634180725", 43)
end
main()
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
import scala.collection.mutable._;
/*
Scala program for
Find all subsequences of string which divisible by k
*/
class Divisibility()
{
def findDivisibleByK(text: String, output: String,
index: Int, remainder: Int,
k: Int, n: Int): Int = {
var result: Int = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
print("\n " + output);
// increase result
result = 1;
}
var i: Int = index;
// This loop controlling the subsequences process.
while (i < n)
{
// Recursively finding the subsequence
result += findDivisibleByK(
text, output + text.charAt(i).toString(), i + 1,
((remainder * 10) + (text.charAt(i).toInt - '0'.toInt)) % k,
k, n);
i += 1;
}
return result;
}
def divideByK(text: String, k: Int): Unit = {
var n: Int = text.length();
if (k <= 0 || n == 0)
{
return;
}
// Display given number
print("\n Given Number : " + text);
// Display given k
print("\n Given K : " + k);
// Find all subsequences which is divisible by k
var result: Int = findDivisibleByK(text, "", 0, 0, k, n);
// Display calculated number of result
println("\n Total result : " + result);
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Divisibility = new Divisibility();
// Test A
// String Number : 247543
// k = 3
task.divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task.divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task.divideByK("634180725", 43);
}
}
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
import Foundation;
/*
Swift 4 program for
Find all subsequences of string which divisible by k
*/
class Divisibility
{
func findDivisibleByK(_ text: [Character],
_ output: String,
_ index: Int,
_ remainder: Int,
_ k: Int,
_ n: Int) -> Int
{
var result: Int = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
print("\n ", output, terminator: "");
// increase result
result = 1;
}
var i: Int = index;
// This loop controlling the subsequences process.
while (i < n)
{
// Recursively finding the subsequence
result += self.findDivisibleByK(
text, output + String(text[i]), i + 1,
((remainder * 10) +
(Int(UnicodeScalar(String(text[i]))!.value) - 48)) % k, k, n);
i += 1;
}
return result;
}
func divideByK(_ text: String, _ k: Int)
{
let n: Int = text.count;
if (k <= 0 || n == 0)
{
return;
}
// Display given number
print("\n Given Number : ", text, terminator: "");
// Display given k
print("\n Given K : ", k, terminator: "");
// Find all subsequences which is divisible by k
let result: Int = self.findDivisibleByK(Array(text), "", 0, 0, k, n);
// Display calculated number of result
print("\n Total result : ", result);
}
}
func main()
{
let task: Divisibility = Divisibility();
// Test A
// String Number : 247543
// k = 3
task.divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task.divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task.divideByK("634180725", 43);
}
main();
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
/*
Kotlin program for
Find all subsequences of string which divisible by k
*/
class Divisibility
{
fun findDivisibleByK(
text: String, output: String, index: Int,
remainder: Int, k: Int, n: Int): Int
{
var result: Int = 0;
if (index != 0 && remainder % k == 0)
{
// Display of subsequences which is divisible by k
print("\n " + output);
// increase result
result = 1;
}
var i: Int = index;
// This loop controlling the subsequences process.
while (i < n)
{
// Recursively finding the subsequence
result += this.findDivisibleByK(
text, output + text.get(i).toString(), i + 1,
((remainder * 10) + (text.get(i).toInt() - '0'.toInt())) % k,
k, n);
i += 1;
}
return result;
}
fun divideByK(text: String, k: Int): Unit
{
val n: Int = text.length;
if (k <= 0 || n == 0)
{
return;
}
// Display given number
print("\n Given Number : " + text);
// Display given k
print("\n Given K : " + k);
// Find all subsequences which is divisible by k
val result: Int = this.findDivisibleByK(text, "", 0, 0, k, n);
// Display calculated number of result
println("\n Total result : " + result);
}
}
fun main(args: Array < String > ): Unit
{
val task: Divisibility = Divisibility();
// Test A
// String Number : 247543
// k = 3
task.divideByK("247543", 3);
// Test B
// String Number 12324
// k = 4
task.divideByK("12324", 4);
// Test B
// String Number 634180725
// k = 43
task.divideByK("634180725", 43);
}
Output
Given Number : 247543
Given K : 3
24
2475
24753
2454
24543
243
27
2754
27543
273
24
243
474
4743
45
453
75
753
54
543
3
Total result : 21
Given Number : 12324
Given K : 4
12
1232
12324
1224
124
132
1324
12
124
232
2324
224
24
32
324
24
4
Total result : 17
Given Number : 634180725
Given K : 43
63425
631025
64180725
6407
645
602
341807
34185
3182
387
1075
172
0
Total result : 13
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