За последние 24 часа нас посетили 19383 программиста и 1631 робот. Сейчас ищут 858 программистов ...

Разделение числа на разряды...

Тема в разделе "Прочее", создана пользователем EvelRus, 18 дек 2010.

  1. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Народ... выручайте... как, математически, разделить некое число на разряды... не в плане на php, а вообще...
    есть 12345678912345678905, надо по какой-то формуле разделить это все на разряды... не могу понять логику сего процесса...

    Никаких математических функций нет ( именно функций, а не операторов...
     
  2. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    целочисленное деление и остаток, именно функции
     
  3. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    PHP:
    1.  
    2. <?php
    3.  
    4. $var = 12345678912345678905;
    5. $var = strrev(''.$var);
    6.  
    7. for($i = 0; $i < strlen($var); $i++){
    8.   echo "Разряд {$i} - {$var[$i]}<br>";
    9. }
    10.  
    11. echo "Всего разрядов в числе - ".strlen($var);
    12. ?>
    13.  
     
  4. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Gromo
    Я поражаюсь вашей усердности, случайно не учителем работаете, все разжевываете вплоть до примеров, но это не мат. функции, тут именно целочисленное деление (в меньшую сторону) и остаток от деление
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Нет такой возможности...
    Есть просто число и математические операторы и больше ничего... Хотя циклы еще можно и условия...
     
  6. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    э... а что такое "разделить на разряды", понимаете?
     
  7. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Nemo
    *лять, ну неужели ждете готового скрипта, пишу же челочисленное деление, неужели совсем никак программировать не получается?
    PHP:
    1.  
    2. <?php
    3. $ret = array();
    4. $var = 123456;
    5. for($i=0;$var>0;$i++){
    6.   $ret[$i] = $var % 10;
    7.   $var = floor($var / 10);
    8. }
    9. ?>
    10.  
    И все, неужели так сложно?
     
  8. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    не понятно...

    И БОЛЬШЕ НИЧЕГО!
    Нет возможности округлять, создавать массивы и пр... только число, математические операторы и цикл.
     
  9. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Кэп намекает, что без массивов результат от работы скрипта записать будет некуда. Или сразу нуно выводить наэкран результат? Вы поясните задание хотя бы, вас никто не понял.
     
  10. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Задачи как таковой нет... есть просто число, которое надо разбить на разряды имея только простые арифметические функции... И результат забить в текстовое поле. Всё.
    например вводим в одно поле: 1324567890, то во втором получаем 1 234 657 890. Не используя никаких других средств кроме +,-,/,*, цикла и условия если необходимо...
     
  11. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Nemo
    Хватить ебать мозги, задачу простыми операторами умножения решить невозможно ХОТЯ БЫ из-за того, что пробел - это не математический оператор, не цикл и не условие. Минимум нужно сдвиг байтов, указатель на таблицу символов или манипуляции с i/o stream.
    В условии можно делить число и проверять кратность, НО блин, ты не вставишь пробел, если тебе некуда загнать его, а если есть - уже можно использовать побитовые манипуляции. Короче ты просто ебешь мозг.
     
  12. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    Нет слов. Математики пока не придумали формулу для пробела, уж извиняйте.

    А если у вас такой препод весёлый - можете передать ему слова Apple
     
  13. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    изначально бы так задачу поставил. что мешает работать с числом как со строкой?

    PHP:
    1.  
    2. <?php
    3.  
    4.   $var = 12345670;
    5.  
    6.   $rates = array();
    7.   while($var > 0){
    8.     array_unshift($rates, $var % 1000);
    9.     $var = intval($var / 1000);
    10.   }
    11.  
    12.   foreach($rates as $rate){
    13.     echo "{$rate} ";
    14.   }
    15.  
    16. ?>
    17.  
    правда в пхп ограничение стоит на 11-значное число. дальше будут глюки =/


    karlozzz
    просто привык объяснять для блондинок, работая с оными. иногда бесит, но привычка остаётся :)
     
  14. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
  15. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    теперь задача - реализовать одними математическими операторами разбор регулярных выражений :)