Когда писал лабку, появилась идея, увы это не мой уровень чтобы реализовать на практике. Суть в чем, все хорошо знают как работает сорт. пузырем ... но! пузырь идет последовательно, если предположим у нас массив 1000 на 1000 а то и больше ... я же предлагаю идти не по порядку а использовать рандум (генератор случайных чисел). Подробнее: Вот смотрите, берем точку 0 на 0 как в пузырьке, с этим числом которое там "зарыто" будем сравнивать следующее, которое выдаст ранд, допустим у нас массив 99 на 99 (так как нумерация идет с 0 то по сути 100 на 100), запускаем рандум который должен выдавать два числа, каждое должно быть уникальное иначе будут нужны расчеты, а это время и ресурсы, а он должен выдавать нам значения от 0 до 999, чем до 999 а не до 99 ажде массив имеет же размерность 99 на 99? Дело в том если ранд выдаст допустим 66 (а это должен быть номер строки из которого и возьмем наше число) и 25 (номер нашего колонки) откуда мы возьмем число чтобы сравнить с первым, мы же больше не получим доступ ко всему строки 66 и всего колонки 25, вот именно для этого я и беру диапазон * 10, а последнее число, если ранд выдаст скажем 498 и 256 то последний 8-ка и 6-ка игнорируется, последнее число нам нужно для того чтобы нам 10 раз получить число 49 ( чтобы перебрать все числа из строки 49) и 25 (чтобы перебрать все элементы столбца 25) Далее как в пузырьке, сравниваем и меньше ставим назад ... Если задуматься, существует вероятность того что рандум будет достаточно часто угадывать нужные координаты есть сравнит числа меньшее количество раз чем пузырь ... Я эту идею говорил уже трем мужчинам в т.ч. и преподавателю по соответствующему предмету, меня никто не хочет понимать ... Возможно секлубовские программисты, а среди них должны быть действительно хорошие специалисты, попытаются уловить.
ЗЫ Чуть что извините не не силен в программировании, как говорится - я не волшебник, я только учусь.Запряжем генератор случайных чисел, чтобы работал на пользу общества
Ссылка на пост
1 дек 2012 в 04:05
Есть часть кода, обрабатывающего матрицу NxN:
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
for (int k = 4; k <= max; k++) … Подробнее
for (int j = 0; j < N; j++){
max_pr=0;
...
if(!max_pr){
//простых чисел в строке нет
}
}