Наибольший простой делитель числа и Решето Эратосфена - C (СИ)
Формулировка задачи:
Необходимо найти наибольший простой делитель числа "n", используя решето Эратосфена. Программа работает для чисел < 10^6. Но необходимо чтобы она вычисляла и бОльшие числа. Знаю что для этого необходимо использовать √n но так и не получилось довести ее до ума.знаю что ответ близко, но так и не нашел похожих алгоритмов для работы с большими числами. Хотелось бы узнать как ее можно доделать.
Заранее спасибо)
#include <stdio.h> #include <math.h> int main() { int i, j, k; unsigned long n, a[n], m; scanf ("%lu", &n); for (i = 0; i <= n; i++) a[i] = i; /*заполнение решета*/ a[1] = 0; for (j = 2; j <= n; j++) { /*вычеркивание лишних чисел*/ if (a[j] != 0) { for (k = j*2; k <= n; k = k + j) { a[k] = 0; } } } /*поиск max элемента*/ ... return 0; }
Решение задачи: «Наибольший простой делитель числа и Решето Эратосфена»
textual
Листинг программы
long a[n]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д