Проверить число на простоту - C (СИ)
Формулировка задачи:
Здравствуйте, друзья) Помогите с заданием, пожалуйста!
Не знаю как сделать процедуру(не функцию!) проверки числа на простоту. Этой процедуре я передаю введенные пользователем интервалы и массив, например:
пользователь вводит a=2, b=8. я генерирую массив[2..8].
main() { int a, b, mas[100], i, r; printf("Vvedite na4alo diapazona: "); scanf("%d",&a); printf("Vvedite konec diapazona: "); scanf("%d",&b); r=b-a; for(i=0; i<r+1; i++) { mas[i]=a; a++; } prime_linear(a, b, mas); } prime_linear(int a, int b, int m[]) { // здесь надо записать простые числа в новый массив и вывести его на экран }
Решение задачи: «Проверить число на простоту»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <math.h> int simple(int a)//алгоритм проверки числа на простоту { int i; for(i = 2; i <= sqrt(a); i++) if(a % i == 0)return 0; return 1; } void prime_linear(int a, int b, int *m, int *n) { int i,j = 0; for(i = a; i <= b; i++) if(simple(i)) { m[j] = i; j++; } *n = j; } int main() { int a, b, mas[100], i, r; int n; printf("Vvedite na4alo diapazona: "); scanf("%d", &a); printf("Vvedite konec diapazona: "); scanf("%d", &b); /* r = b - a; for (i = 0; i < r + 1; i++) { mas[i] = a; a++; } */ prime_linear(a, b, mas,&n); printf("Simple [%d ; %d] :\n",a,b); for(i = 0; i < n; i++) printf("%d ",mas[i]); getch(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д