ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Счастливые билеты или _==wolf==_а мучает ностальгия
  #1  
Старый 03.05.2009, 12:30
Аватар для _==wolf==_
_==wolf==_
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
Провел на форуме:
979048

Репутация: 101
Отправить сообщение для _==wolf==_ с помощью ICQ
Talking Счастливые билеты или _==wolf==_а мучает ностальгия

Все мы знаем что раньше в автобусе использовались бумажные билетики, которые надо было дырявить в специальном компостере и тогда он считался погашенным. Серийный номер таких билетов состоял из 6 цифр. Также появилась примета что если сумма первых трех цифр серийного номера равна сумме последних трёх цифр этот билет - счастливый, и несёт он деньги и удачу. ) Собственно к делу: сегодня 2 часа пытался реализовать генератор "счастливых" серийников на PHP, никак не получилось. Кто поможет сотворить сиё чудо?
 
Ответить с цитированием

  #2  
Старый 03.05.2009, 13:01
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Ну например так, хотя наверняка не самый оптимальный вариант (генерим и выводим на экран 10 таких "счастливых" серийников):

PHP код:
<pre>
<?
$i
=0;
while (
$i<=10) {
 
$a rand(1,9);
 
$b rand(1,9);
 
$c rand(1,9);
 
$d $a+$b+$c;
 
 
$e rand(1,9);
 
$f rand(1,9);
 
$g rand(1,9);
 
$k $e+$f+$g
 
 if (
$d==$k) {
   echo 
$a.$b.$c.$e.$f.$g."\n";
   
$i++;
 }
}
?>
</pre>
 
Ответить с цитированием

  #3  
Старый 03.05.2009, 13:04
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Код:
<?
for ($i=100000; $i<=999999; $i++)
{
	settype($i, "string"); 
	if (($i[0]+$i[1]+$i[2])==($i[3]+$i[4]+$i[5]))
	{
		echo "{$i}<br>";
		$sch++;
	}
}
echo "Всего билетов счастиливых: {$sch}";
?>
выводит счастливые билетики а в конце - сколько их всего.
 
Ответить с цитированием

  #4  
Старый 03.05.2009, 13:05
Аватар для _==wolf==_
_==wolf==_
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
Провел на форуме:
979048

Репутация: 101
Отправить сообщение для _==wolf==_ с помощью ICQ
По умолчанию

абсолютно все?? аа спс большое вам! ) + +
 
Ответить с цитированием

  #5  
Старый 03.05.2009, 13:09
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Цитата:
Сообщение от _==wolf==_  
абсолютно все?? аа спс большое вам! ) + +
ну я точно не помню с какого номера билеты идут, напсиал с 111111, исправь на 100000 если что
А так да, если сумма первых трех числе равна сумме последих трех, то билет считается счаслтивым
 
Ответить с цитированием

  #6  
Старый 03.05.2009, 13:39
Аватар для _==wolf==_
_==wolf==_
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
Провел на форуме:
979048

Репутация: 101
Отправить сообщение для _==wolf==_ с помощью ICQ
По умолчанию

спс огромное. кстати вот результат это не скрипт а готовый список, поэтому загрузит быстро не волнуйтесь ) 50412 всего билетов в одной серии.. а серий хз скока...
 
Ответить с цитированием

  #7  
Старый 03.05.2009, 13:45
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 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;
}
 
Ответить с цитированием

  #8  
Старый 03.05.2009, 13:49
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Цитата:
Сообщение от astrologer  
Более интересное решение,
Это перл, а ТСу надо на пыхе
 
Ответить с цитированием

  #9  
Старый 03.05.2009, 13:58
Аватар для _==wolf==_
_==wolf==_
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
Провел на форуме:
979048

Репутация: 101
Отправить сообщение для _==wolf==_ с помощью ICQ
По умолчанию

линк не появился... ну да ладно)
 
Ответить с цитированием

  #10  
Старый 03.05.2009, 14:06
Аватар для Gar|k
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

ты еще сделай проверку счастливых IP адресов ))) "поздравляем ваш IP счастливый!!!"
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Хакеры и кракеры или "Что такое хорошо и что такое плохо?" foreva Чужие Статьи 12 09.02.2008 12:26
Books JS FRAGNATIC PHP, PERL, MySQL, JavaScript 0 11.08.2005 16:57
Обнаружение Sql инъекций и Css атак k00p3r Чужие Статьи 0 12.06.2005 20:43
На счет халявного инета foreva Чужие Статьи 0 06.02.2005 12:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ