Где ошибка в коде? Программа пробегает по массиву и возвращает колличество простых чисел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Где ошибка в коде??? Программа пробегает по массиву и возвращает колличество простых (2, 3, 5, 7 и тд.) чисел. Смотрю в код и простоооооо не вижу, что тут плохо...
#include <stdio.h>
 
int prime(int a)
{
   int i;
   if (a == 2) {
        return 1;
    }
   if (a == 0 || a == 1 || a % 2 == 0) {
       return 0;
   }
 
    for(i = 3; i*i <= a && a%i; i+=2) {
       return i*i > a;
    }
}
 
int main() {
    int n, j, temp;
    int count = 0;
    int array[100];
    scanf("%d", &n);
 
    for (j = 0; j < n; j++) {
        scanf("%d", &array[j]);
    }
 
    for(j = 0; j < n; j++) {
        temp = array[j];
        if (prime(temp) > 0) {
            count++;
        }
    }
printf("%d\n", count);      
return 0;
}
Сам же ее и нашел. Может, кому пригодится...
#include <stdio.h>
 
int prime(int a)
{
   int i;
   if (a == 2) {
        a = 1;
        return a;
    }
   if (a == 0 || a == 1 || a % 2 == 0) {
        a = 0;
        return a;
   }
 
    for(i = 3; i*i <= a && a%i; i+=2) {
        a = 1;
        return a;
    }
}
 
int main() {
    int n, j, temp;
    int count = 0;
    int array[100];
    scanf("%d", &n);
 
    for (j = 0; j < n; j++) {
        scanf("%d", &array[j]);
    }
 
    for(j = 0; j < n; j++) {
        temp = array[j];
        if (prime(temp) > 0) {
            count++;
        }
    }
printf("%d\n", count);      
return 0;
}

Решение задачи: «Где ошибка в коде? Программа пробегает по массиву и возвращает колличество простых чисел»

textual
Листинг программы
#include<stdio.h>
#include <math.h>
 
int prime(int a)
{
   int i;
   if (a == 2)
      return 1;
   if (a == 0 || a == 1 || a % 2 == 0)
      return 0;
   for(i = 3; i*i <= a && a % i; i += 2)
      ;
   return i*i > a;
}
 
 
int main (void)
 
{
    int a;
    printf("Input range:");
    scanf("%d", &a);
    printf("%d\n ", prime(a));
 
return 0;
}

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


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

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

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