Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Задача №19 ещё одно решение.
 
 автор: b1nary   (21.10.2013 в 15:57)   письмо автору
 
 

<?php
$start 
microtime(true);
//Количество счастливых и счастливых/симметричных билетов
$schastlivyi 0;
$schastlyvyiSimm 0;
//Запускаем цикл перебора всех значений билетов
for($i 0$i <= 999999$i++){
    
//Дополняем число строкой, подставляя слева нули если она < 6-ти символов
    
$nomeraBiletov str_pad($i6"0"STR_PAD_LEFT);
    
//Превращаем строку в массив
    
$nomeraBiletov str_split($nomeraBiletov);
    
//Если билетик счастливый, то
    
if(($nomeraBiletov[0] + $nomeraBiletov[1] + $nomeraBiletov[2]) ==
         (
$nomeraBiletov[3] + $nomeraBiletov[4] + $nomeraBiletov[5])){
        
//Проверяем сначала, вдруг номерок к тому же и симметричный
        //Разбиваем наш массив на два, по три ячейки
        
$leftPart array_slice($nomeraBiletov,0,3);
        
$rightPart array_slice($nomeraBiletov,3);
        
//Сравниваем два новых массива
        
$result array_diff($leftPart,$rightPart);
        
//Если они симметричны, то увеличиваем количество билетов на 1
        
if(empty($result)){
            
$schastlyvyiSimm++;
        
//Ну а если номер не симметричный
        
}else{
            
$schastlivyi++;
        }
    }
}
//Выводим результат
echo 'Всего счастливых, но не симметричных билетов: '.$schastlivyi.' их стоимость: '. ($schastlivyi*3).
     
' рублей.<br>';
echo 
'Всего счастливых и симметричных билетов: '.$schastlyvyiSimm.' их стоимость: '.($schastlyvyiSimm*10).
     
' рублей.<br>';
echo 
'Всего счастливых симметричных и не симметричных билетов: '.($schastlivyi+$schastlyvyiSimm).
     
' прибыль от их продажи составит: '.(($schastlivyi*3)+($schastlyvyiSimm*10)).' рублей.<br>';
echo 
'Всего чистый доход: '.((($schastlivyi*3)+($schastlyvyiSimm*10)) - 20000).' рублей.';
echo 
'<br><br>Время выполнения скрипта: '.(microtime(true) - $start).' сек.';
?>


Всего счастливых, но не симметричных билетов: 49992 их стоимость: 149976 рублей.
Всего счастливых и симметричных билетов: 5260 их стоимость: 52600 рублей.
Всего счастливых симметричных и не симметричных билетов: 55252 прибыль от их продажи составит: 202576 рублей.
Всего чистый доход: 182576 рублей.

Время выполнения скрипта: 2.6803719997406 сек.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования