Перейти к содержанию
Allforher

Генерация чисел по маске, как?

Рекомендуемые сообщения

Доброго дня. Скажу сразу я далек от програмирования даже на самом минимуме. Поэтому просьба огромная подсказать как реализовать.

есть диапазон 7400000 до 9200000

Как мне проще всего сгенерировать каждое число в новую строчку с результатом всех чисел, чтобы итоговый результат был:

7400000

7400001

7400002

и тд до 9200000

.

Онлайн сервисы находил но у них ограничения стоят на 500 чисел и тд.

Можно как то реализовать без знаний ЯП? И без установок всяких интерпретаторов и тд?)) Может сервис есть какой нибудь, или софт который подойдет? Благодарю за любую помощь или наводку.


Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

батник

@echo off 
for /l %%i in (7400000 ,1,9200000) do echo %%i >> out.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
батник

@echo off 
for /l %%i in (7400000 ,1,9200000) do echo %%i >> out.txt

от души))

А можно средствами bat еще перемешать рандомно потом все строки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
батник

@echo off 
for /l %%i in (7400000 ,1,9200000) do echo %%i >> out.txt

не могу понять. На маленьких диапазонах все создается и работает. А если выбирать другие где например 99к он в файле вообще какую то белиберду делает. Почему то с отрицательным знаком.

@echo off

for /l %%i in (84320000000 ,1,84320099999) do echo %%i >> out.txt

вот что в батнике делаю. В итоге он в far якобы что то делает. Отменяю ctrl c захожу в out.txt и вижу там цифры с минусом вида и их там 300 с лишним К строк. И это притом что остановил процесс.

-2147483640

-2147483639

-2147483638

-2147483637

-2147483636

-2147483635

-2147483634

-2147483633

-2147483632

-2147483631

-2147483630

-2147483629

Помогите кто знает как исправить. С маленькими диапазонами все работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Allforher, максимальное 32битное число (знаковое).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
Allforher, максимальное 32битное число (знаковое).

не понял если честно. Повторюсь я не кодер и далек от програмирования.

Число 10 или 11 знаков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Allforher, походу в батниках целые числа задаются знаковым интом, а там максимум вот это число , что у вас получилось (про минус рассказывать не буду, т.к. не кодеру это врядли интересно).

Установите себе какой-то интепретатор, тот же питон из коробки умеет в bigint. Запускать скрипты не сложнее, чем батники, но там возможностей намного больше. Не нравится питон, ставьте перл, пхп, ноде жс.


Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
или софт который подойдет?

Набросал простой софт на языке Си. Может работать с числами от 0 до 18446744073709551615 (надеюсь). Это стандартный тип Си unsigned long long, для работы с большими числами надо подключать либы. Мб кто-то захочет и напишет софтину на шарпе, тут работы на 5 минут, а шарп вроде как поддерживает большие числа без лишнего гемора. Или нет?

#include 
#include 

int main(int argc,char *argv[])
{
unsigned long long num_start = 0;
unsigned long long num_end = 0;
unsigned long long num_i = 0;
FILE *fh = NULL;
char num_str[24] = {0};

if (argc < 3)
{
printf("usage PROGNAME START_NUM END_NUM\n");
return 1;
}
num_start = atoll(argv[1]);
num_end = atoll(argv[2]);

fh = fopen("out.txt","w");
if (!fh)
{
printf("cannot create file\n");
return 2;
}

for (num_i = num_start;num_i <= num_end;num_i  )
 {
 sprintf(num_str,"%llu\n",num_i);
 fputs(num_str,fh);
 }
fclose(fh);



return 0;
}

Компилируем любым Си-компилятом как консольную прогу, вызываем вида prog 12 100, т.е. диапазон. Пишет все это в файл out.txt в той же папке. Может лагать, ибо писалось на скорую руку, нет проверок и т.д.

Сама прога тут _https://dropmefiles.com/wZDv3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если у тебя винда - создай файл 'script.js', в котором напиши (скопипасть) это:

function shuffle(array) {
 var currentIndex = array.length, temporaryValue, randomIndex;

 while (0 !== currentIndex) {

   randomIndex = Math.floor(Math.random() * currentIndex);
   currentIndex -= 1;

   temporaryValue = array[currentIndex];
   array[currentIndex] = array[randomIndex];
   array[randomIndex] = temporaryValue;
 }

 return array;
};

var array = [];

for(var i = 7400000; i <= 9200000; i  ) {
 array.push(i);
};

array = shuffle(array);

var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.CreateTextFile("result.txt", true);
for(var i =0; i < array.length; i  )
 file.WriteLine(array[i]   '\n');
file.Close();

Запусти этот 'script.js' и он создаст файл 'result.txt' с нужным тебе списком рандомных чисел в диапазоне [7400000; 9200000]. Сразу не открывай: он будет долго записываться. Его размер должен быть чуть более 17mb.

Этот вариант хорошо подходит, ибо тебе не нужен какой-либо компилятор (или не нативный интерпретатор). Для изменения диапазона, или вообще логики скрипта, достаточно просто открыть этот 'script.js' текстовым редактором и изменить что тебе нужно. Т.е. это встроенный в винду интерпретатор, который заменяет деревянный bat.

Если хочешь - могу написать исходник, где скрипт будет выдавать окошко для ввода диапазона, который тебе нужен.


Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем кто откликнулся. Кнопки кармы почему то нет) так бы плюсанул.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цитата
Спасибо всем кто откликнулся. Кнопки кармы почему то нет) так бы плюсанул.

Вроде нужно 30 сообщений, чтобы она появилась. У меня тоже нету)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

×