Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > длинные простые числа |
Автор: 0x00000000 6.2.2009, 01:21 | ||
Помогите добавить в эту програмку вывод не всех простых чисел а только каждое 10000000 число тоесть n1 = 10000000 по счету n2 = 20000000 ..... n45 = 450000000 прошли еще 10милионов простых и вывели второе и так до 450 милионов тоесть 45 простых чисел((
|
Автор: mes 6.2.2009, 02:11 | ||||
замени :
на
исправлено |
Автор: math64 6.2.2009, 09:22 |
Работа программы ускорится, если проверять деление не на все числа от 2 до sqrt(n), а только на уже найденные простые числа в этом интервале (решето Эратосфена) |
Автор: bsa 6.2.2009, 11:25 | ||
Очень много памяти жрать это будет... Для начала, можно просто исключить четные числа большие 2-х ![]() |
Автор: Dov 6.2.2009, 16:23 | ||
выход за пределы диапазона для типа int . mes, может ты так хотел сказать:
|
Автор: mes 7.2.2009, 00:39 |
спасибо за исправление, каюсь .. напортачил ![]() |
Автор: 0x00000000 9.2.2009, 17:31 | ||
вот поиск через другой алгоритм только что тут что там нехватает обычныйх типов инт и лонг инт(((( что можно сделать?
|
Автор: bsa 9.2.2009, 18:46 |
1. делать свой тип (например, int512_t) 2. делать через массив десятичных знаков (очень долго работать будет). Может ты задание не так понял? Потому что то, что ты хочешь является вполне конкретной научной задачей, для которой используют распределенные вычисления и супер-компьютеры. |
Автор: Ln78 10.2.2009, 10:56 | ||
Вот такой вариант, наверное, не самый оптимальный. Для простоты я всё поместил в одну функцию, в том числе и выходной массив nOutPrime. Проверял при NSelectedForUse = 100000, вроде правильно работает.
|