Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 7

Группировка диапазонов чисел

30.06.2015, 19:55. Показов 2399. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите скриптик для решения задачи.
есть дипазон
89000000000-89002187999
89002190000-89004649999

нужно привести к виду
89000XXXXXX
89001XXXXXX
..........
89002184XXX
89002185XXX
89002186XXX
89002187XXX
Заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2015, 19:55
Ответы с готовыми решениями:

Написать программу сортировки заданных диапазонов чисел и заданных диапазонов символов
подскажите пжлст с чего начать, осталась неделя до сдачи( 1 Написать интерактивную программу сортировки (кроме метода пузырька)....

Строка состоит из натуральных чисел, разделенных пробелом, и диапазонов чисел
Строка состоит из натуральных чисел, разделенных пробелом, и диапазонов чисел (начальное число-тире-конечное число). Удалить из строки все...

Вычислить 2 числа из 2-х диапазонов чисел, сумма этих чисел равна заданному числу
Здравствуйте, уважаемые форумчане. Помогите, пожалуйста, с пониманием алгоритма написания этой программы (если будет пример решения, то я...

6
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
30.06.2015, 21:53
slawka,
PHP
1
2
3
4
5
6
7
8
<?php
$a = [
    [89000000000, 89002187999],
    [89002190000, 89004649999],
];
foreach ($a as $v)
    for ($i = $v[0]; $i<=$v[1]; $i++)
        echo $i."<br>\n";
Прежде чем использовать советую уменьшить диапазоны
0
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 7
01.07.2015, 11:11  [ТС]
Это только малая часть всего.
Зачем мне перебор?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
01.07.2015, 11:18
Цитата Сообщение от slawka Посмотреть сообщение
Это только малая часть всего.
Зачем мне перебор?
Мм... Я подумал иксами Вы просто числа замаскировали...

Хорошо, тогда вопрос - откуда там эти иксы? По каким критериям они там появляются?
0
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 7
01.07.2015, 12:17  [ТС]
Х - это (0-9)
регулярка не подходит только Х

Это пример того чо необходимо получить из дипазона

Из этого 89000000000-89002187999

Нужно получить такое

89000XXXXXX
89001XXXXXX
..........
89002184XXX
89002185XXX
89002186XXX
89002187XXX
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
01.07.2015, 12:26
Цитата Сообщение от slawka Посмотреть сообщение
Это пример того чо необходимо получить из дипазона
Ну и как это понимать? Почему в первом числе Х появился именно на 6 позиции? Почему в последнем числе Х оказался на 3 позиции с конца? По какому принципу это вообще получается.
0
0 / 0 / 0
Регистрация: 30.06.2015
Сообщений: 7
01.07.2015, 12:51  [ТС]
Потому что любые цифры вставленные вместо Х 89000XXXXXX
образуют число в этом диапазоне
89000000000-89002187999

Добавлено через 13 минут
Тему закрываем, решение найдено.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function getMasks($dmin, $dmax) {
  $dmax++;
  $masks = array();
  $m = array();
  $inc = 0;
  while (preg_match('/0{0,}$/', $dmin, $m) && $dmin + $inc < $dmax) {
    $p = strlen($m[0]);
    while ($p > -1) {
      $inc = pow(10, $p);
      while (($dmin + $inc) <= $dmax) {
        $masks[] = substr($dmin, 0, strlen($dmin) - $p).str_repeat('X', $p);
        $dmin+= $inc;
        if ($dmin == $dmax) continue 3;
        if (preg_match('/0{0,}$/', $dmin, $m)) {
          $p = strlen($m[0]);
        }
        $inc = pow(10, $p);
      }
      $p--;
    }
  }
  return $masks;
}
/*
                            [0] => 89000XXXXXX
                            [1] => 89001XXXXXX
                            [2] => 890020XXXXX
                            [3] => 8900210XXXX
                            [4] => 8900211XXXX
                            [5] => 8900212XXXX
                            [6] => 8900213XXXX
                            [7] => 8900214XXXX
                            [8] => 8900215XXXX
                            [9] => 8900216XXXX
                            [10] => 8900217XXXX
                            [11] => 89002180XXX
                            [12] => 89002181XXX
                            [13] => 89002182XXX
                            [14] => 89002183XXX
                            [15] => 89002184XXX
                            [16] => 89002185XXX
                            [17] => 89002186XXX
                            [18] => 89002187XXX
*/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.07.2015, 12:51
Помогаю со студенческими работами здесь

Разбить отрезок на 5 диапазонов значений по росту и подсчитать частоту попаданий элементов массива в каждой из этих диапазонов
Задание:1. Дано натуральное число N и одномерный массив A1, A2, ..., AN целых чисел. Определить наибольшее и наименьшее значения,...

Сравнение диапазонов чисел
Здравствуйте форумчане. Не знаю как назвать эту задачу. И даже не знаю как всё это описать. :) Поэтому прикрепляю файл. В нём постарался...

Суммирование первых найденных чисел двух диапазонов
Привет всем! Подскажите, плз, формулу, которая может возвращать первое найденное _любое число_ в столбце (диапазоне С1:C100). В значениях...

Найти суммы чисел из двух диапазонов и определить какая из них меньше
Даны цифры от 1 до 100, от 101 до 200 соответственно. Найти сумму каждого из них и сравнить, какое из них меньше.

Группировка чисел по суммам
Имеется набор чисел, нужно распределить их по группам, чтобы сумма входящих в каждую группу чисел была равна 10. Например: 1, 3, 8,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru