Показать сообщение отдельно

  #7  
Старый 03.05.2009, 13:45
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
С нами: 9840758

Репутация: 808


По умолчанию

Более интересное решение, отсюда:
Код:
#!/usr/bin/perl -w

use strict;

my %summa = ();

for my $i ( 0 .. 999 ) {
	push @{ $summa{summa($i)} }, $i;
}

for my $x ( sort { $a <=> $b } keys %summa ) {
	my @x = @{ $summa{$x} };
	for my $i ( @x ) {
		for my $j ( @x ) {
			printf "%03d%03d\n", $i, $j;
		}
	}
}

sub summa
{
	my $x = shift;

	my $s = 0;

	while ( $x ) {
		$s += $x % 10;
		$x = int($x / 10);
	}

	return $s;
}
 
Ответить с цитированием