Определить количество простых чисел в этой последовательности - C (СИ)
Формулировка задачи:
Дан одномерный целочисленный массив. Определить количество простых чисел в этой последовательности.
подскажите, пожалуйста(
чем заменить вопросы не знаю, подскажите(
Листинг программы
- #include "stdafx.h"
- bool simple(int n)
- {
- if(n <= 1)
- return 0;
- for(int i = 2; i <= n/2; i++)
- if(n % i == 0)
- return 0;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int A [100];
- int k=0;
- // ?????
- k++;
- printf("%k",k);
- return 0;
- }
и вообще сомневаюсь в правильности задания одномерного массива
Решение задачи: «Определить количество простых чисел в этой последовательности»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int is_prime(int n) {
- int i;
- for ( i = 2; i < n / 2 + 1; ++i )
- if ( ! ( n % i ) )
- return 0;
- return 1;
- }
- #define ELEMENTS_COUNT (100)
- #define TOP_VALUE (1000)
- int main(void) {
- int array[ELEMENTS_COUNT], i, primesCount;
- srand(time(NULL));
- for ( i = 0; i < ELEMENTS_COUNT; ++i )
- array[i] = rand() % TOP_VALUE;
- for ( primesCount = i = 0; i < ELEMENTS_COUNT; ++i )
- if ( is_prime(array[i]) )
- ++primesCount;
- printf("In array of %d random integers before %d found %d prime numbers.\n", ELEMENTS_COUNT, TOP_VALUE, primesCount);
- return 0;
- }
Объяснение кода листинга программы
В данном коде определен прототип функции is_prime(int n), которая проверяет, является ли число n простым. Затем, в функции main(), создается массив из 100 случайных целых чисел в диапазоне от 1 до 1000. Далее, в цикле перебираются все числа в массиве и проверяется, является ли каждое из них простым с помощью функции is_prime(). Если число простое, к переменной primesCount прибавляется единица. В конце программы выводится сообщение, содержащее количество простых чисел в массиве.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д