summaryrefslogtreecommitdiffstats
path: root/mat/euler/7/prog.c
blob: e2e31a10115e7c86a9f6ac49e3fced71e6548082 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int jePrastevilo(unsigned long long int u) {
	if (u <= 1) // nah 1 ni praštevilo js sm sam neumen
		return 0; // in praštevila so samo naravna, spet sem neumen
	if (u == 2)
		return 1;
	for (int i = 2; i <= ceil(sqrt(u)); i++)
		if (u % i == 0)
			return 0;
	return 1;
}
int main(int argc, char ** argv) {
	if (argc != 1+1) {
		fprintf(stderr, "uporaba: %s <st>\nprimer, ki izpiše prvih 10001 praštevil: %s 10001", argv[0], argv[0]);
		return 1;
	}
	size_t m = atoi(argv[1]);
	size_t n = 2;
	size_t i = 0;
	while (i < m) {
		if (jePrastevilo(n)) {
			fprintf(stdout, "našel %ld.: %ld\n", i+1, n);
			i++;
		}
		n++;
	}
	return 0;
}