Given a decimal number N as a string of digits, how do I check if it\'s divisible by M using regular expressions only, without con
If your numbers are unary based, you can use this regex: s/1{divisor}//g then test if the number is empty.
Here is a Perl way to do it
my @divs = (2,3,5,7,11,13);
for my $num(2..26) {
my $unary = '1'x$num; # convert num to unary
print "\n$num can be divided by : ";
for(@divs) {
my $test = $unary;
$test =~ s/1{$_}//g;
print "$_, " unless $test;
}
}
output:
2 can be divided by : 2,
3 can be divided by : 3,
4 can be divided by : 2,
5 can be divided by : 5,
6 can be divided by : 2, 3,
7 can be divided by : 7,
8 can be divided by : 2,
9 can be divided by : 3,
10 can be divided by : 2, 5,
11 can be divided by : 11,
12 can be divided by : 2, 3,
13 can be divided by : 13,
14 can be divided by : 2, 7,
15 can be divided by : 3, 5,
16 can be divided by : 2,
17 can be divided by :
18 can be divided by : 2, 3,
19 can be divided by :
20 can be divided by : 2, 5,
21 can be divided by : 3, 7,
22 can be divided by : 2, 11,
23 can be divided by :
24 can be divided by : 2, 3,
25 can be divided by : 5,
26 can be divided by : 2, 13,