Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.c
- // PG2
- //
- // Created by Alexander on 05.08.13.
- // Copyright (c) 2013 WhiteBarbarian. All rights reserved.
- //
- #include <stdio.h>
- #include <time.h>
- #include <math.h>
- #define MAX_PRIMES 10000
- int count = 0;
- int primes[MAX_PRIMES] = {};
- int prime(int n) {
- int r1, r2;
- for (int i = 0; i < count; i++) {
- if (primes[i] < 1) {
- return 0;
- } else {
- r1 = pow(n, 0.5) + 1;
- r2 = n % primes[i];
- if (primes[i] <= r1 && r2 == 0) {
- return 0;
- }
- }
- }
- return 1;
- }
- int main(int argc, const char * argv[])
- {
- clock_t start, stop;
- double diff;
- int i = 2;
- int d = 1;
- int nums[4] = {1, 3, 7, 9};
- start = clock();
- while (count < MAX_PRIMES) {
- while (i < 10) {
- if (prime(i)) {
- primes[count] = i;
- count++;
- }
- i++;
- }
- for (int p = 0; p < 4; p++) {
- i = d * 10 + nums[p];
- if (prime(i)) {
- primes[count] = i;
- count++;
- }
- }
- d++;
- }
- stop = clock();
- diff = (stop - start) / (double)CLOCKS_PER_SEC;
- for (int i = 0; i < count; i++) {
- printf("%d: %d\n", i, primes[i]);
- }
- printf("Completed in %f seconds\n", diff);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment