All pastes #791573 Raw Edit

Untitled

public text v1 · immutable
·published 2007-11-20 23:25 UTC
rendered paste body
#include <stdio.h>
#include <time.h>
#define N 20

time_t start,finish;
int    isprime(int ), search(int B[80][3], int l, int TOP), A[80][3];
int    k,init_prime,next_prime,run,number,in_pr,found,top,column;
double duration;

main()
{

      start=time(0);
      init_prime=3;  // oi 2 prwtoi pou anamesa tous vriskontai oi sunthetoi
      next_prime=number=in_pr=0;
      run=init_prime+2;
      k=1;


      for ( top=0;top<80;top++)
      {
            for ( column=0;column<3;column++)
            {
                  A[top][column]=0;
            }
      }
      
      top=column=0;
      
      while ( k<= N)
      {
            found=search(A[80][3],k,top);
            if (found+1)
            {
                  printf("First %d consecutive composites from %d to %d\n",A[found][0],A[found][1],A[found][2]);
                  k+=2;
            }
            else
            {
                  if (isprime(run))
                  {
                         next_prime=run;
                         number=next_prime-init_prime-1;
                         in_pr=init_prime;
                         init_prime=next_prime;
                         if ( number==k)
                         {
                               printf("First %d consecutive composites from %d to %d\n",number,in_pr,next_prime);
                               k+=2;
                         }
                         else if ( number>k)
                         {
                               if ( search(A[80][3],number,top)+1)       
                               {
                                     top++;
                                     A[top][0]=number;             
                                     A[top][1]=in_pr;
                                     A[top][2]=next_prime;
                               }
                               run+=2;
                          } 
                          else
                          {
                               run+=2;
                          }
                   } 
             }
       }

       finish=time(0);
       duration=difftime(finish,start);
       printf("Program was executed in %lf seconds\n",duration);
       
       return 0;
}   



//sunarthsh isprime()-->epistrefei an enas arithmos, perittos kai megaluteros tou 3, einai prwtos


int isprime(int run)
{
 int i=3;
 int done=1;
 while (done==1 && i*i<=run) 
 {
     if (run % i==0)
     {
       done=0;
       break;
     }     
       
     i+=2;
 }
 return done;
}



//sunarthsh search()-->exetazei an uparxei ston pinaka to stoixeio pou psaxnw

int search ( int B[80][3], int l, int TOP)
{
  int j;

  for (j=0;j<=TOP;j++)         //searching..
  {
  
      if (B[j][0]==l)         // an nai epistrefei thn thesh ston pinaka
      {
         return j;
         break;
      }
  }
  if (j==(TOP+1))             // an oxi -1
     return -1;

}