Проверить число на простоту - 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();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы