ダイヤモンドツリー
- 結城先生本でも書いてあったけど、あの時はただ写経するだけだった。
- 今回は自分で考えてみる。
use strict;
use warnings;
my $line = 19;
my $foo = int( $line / 2 );
for my $i ( 0 .. $foo ) {
my $space = $i * (-1) + int( $line / 2 );
print '_' x $space;
my $star = $line - ( $space * 2 );
print '*' x $star, "\n";
}
for my $i (1..$foo){
my $space = $i;
print '_' x $space;
my $star = $line - ($space *2);
print '*' x $star,"\n";
}
use strict;
use warnings;
use Data::Dumper;
my $prime;
for my $num ( 1 .. 100 ) {
for my $div ( 1 .. ( $num / 2 ) ) {
if ( $num % $div == 0 ) {
$prime->{$num}++;
}
}
}
for my $i ( sort { $a <=> $b } keys %$prime ) {
if ( $prime->{$i} == 1 ) {
print $i, "\n";
}
}
2進数
use strict;
use warnings;
for my $i (0..15){
print "$i",':',&bd($i),"\n";
}
sub bd {
my $num = shift @_;
my ( $n8, $n4, $n2, $n1 ) = 0;
return '0000', if ( $num == 0 );
if ( $num >= 8 ) {
$n8 = 1;
$num = $num - 8;
}else{
$n8 = 0;
}
if ( $num >= 4 ) {
$n4 = 1;
$num = $num - 4;
}else{
$n4 = 0;
}
if ( $num >= 2 ) {
$n2 = 1;
$num = $num - 2;
}else{
$n2 = 0;
}
if ($num == 1){
$n1 = 1;
}else{
$n1 = 0;
}
return $n8 . $n4 . $n2 . $n1;
}