Вывести простые числа от 1 до 100 - C (СИ)
Формулировка задачи:
Добрый день,есть код,при компиляции которого должны выдаваться числа от 1 до 100.где-то внутри есть ошибка...не работает.
код состоит из трех отдельных,которые нужно соединить в один..честно говоря,не совсем рублю,как это нужно сделать.
первый:
#include <stdio.h> #include "eratosthenes.h" #define VELIKOST 100 int main(void) { int i, pole[RAZMER]; eratosthena_resheto(pole, RAZMER); printf("vse prostye cisla menshie,chem %d :", RAZMER); for (i = 0; i <= VELIKOST; i++) if (pole[i]) printf(" %d", i); printf("\n"); return 0; }
вторая часть кода
#ifndef _ERATOSTHENES_H_ #define _ERATOSTHENES_H_ void eratosthena_resheto(int pole[], unsigned int razmer); #endif
и последняя часть.
#include <math.h> void eratosthena_resheto(int pole[], unsigned int razmer) { int i, j, granica_sverhu = sqrt(razmer); pole[0] = 0; pole[1] = 0; for (i = 2; i < razmer; i++) pole[i] = 1; for (i = 2; i < granica_sverhu; i++) if (pole[i]) for (j = i*i; j < razmer; j += i) pole[i] = 0; }
Решение задачи: «Вывести простые числа от 1 до 100»
textual
Листинг программы
void erat_sito(int pole[], unsigned int velikost) { int i, j, granica_sverhu = sqrt(velikost); pole[0] = 0; pole[1] = 0; for (i = 2; i < velikost; i++) pole[i] = 1; for (i = 2; i < granica_sverhu; i++) if (pole[i]) for (j = i*i; j < velikost; j += i) pole[j] = 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д