Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: More Adam vs Hydra Hype

Author: Dann Corbit

Date: 10:15:04 05/26/05

Go up one level in this thread


On May 26, 2005 at 12:02:37, Vincent Diepeveen wrote:
[snip]
>Hello, i can calculate prime numbers up to 10 million digits at my pc nearly,
>though not within 5 minutes.

Less than a second, I imagine.

>A prime number of 1051 digits is really peanuts to calculate within seconds.

Do you mean to prove prime with APR-CL?

>I'll have to refer to some other software mine there.

All primes to 100 million takes about ten seconds on a single CPU machine.

E:\tmp\ioccc>type p.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#define TEST(f,x)(*(f+(x)/16)&(1<<(((x)%16L)/2)))
#define SET(f,x)(*(f+(x)/16)|=1<<(((x)%16L)/2))
void check(int count_converted,unsigned long value,void*feld){if(
count_converted!=1){(void)puts("The scanf() function had an error conve\
rting input data.");free(feld);exit(EXIT_FAILURE);}if(value==0){(void)
puts("Value out of range.  Assuming exit is desired.");free(feld);exit(
EXIT_SUCCESS);}}int main(int argc,char*argv[]){unsigned char*feld=NULL,*
zzz=NULL;unsigned long teste=1,max,mom,hits=1,count,alloc,s=0,e=1;time_t
begin;if(argc>1)max=(unsigned long)atof(argv[1])+10000;else max=
14010000L;zzz=feld=malloc((size_t)(alloc=(((max-=10000L)>>4)+1L)));if(
feld){memset(zzz,0,(size_t)alloc);printf("Searching prime numbers to : \
%lu\n",max);begin=time(NULL);while((teste+=2)<max)if(!TEST(feld,teste)){
if(++hits%100000L==0){printf(" %lu. prime numbers\n",hits);(void)fflush(
stdout);}for(mom=3L*teste;mom<max;mom+=teste<<1)SET(feld,mom);}printf("\
 %lu prime numbers found in %lu secs.\n\nShow prime numbers",hits,(
unsigned long)(time(NULL)-begin));while(s<e){int cnt;printf("\n\nStart \
of Area : ");(void)fflush(stdout);cnt=scanf("%lu",&s);check(cnt,s,feld);
printf("End of Area : ");(void)fflush(stdout);cnt=scanf("%lu",&e);check(
cnt,s,feld);if(s<=2&&e>=2)printf("%lu\t",2L);count=s-2;if(s%2==0)count++
;while((count+=2)<e)if(!TEST(feld,count)&&count!=1)printf("%lu\t",count)
;}free(feld);}else{(void)puts("Memory allocation failure.");exit(
EXIT_FAILURE);}return 0;}

E:\tmp\ioccc>p 100000000
Searching prime numbers to : 100000000
 100000. prime numbers
 200000. prime numbers
 300000. prime numbers
 400000. prime numbers
 500000. prime numbers
 600000. prime numbers
 700000. prime numbers
 800000. prime numbers
 900000. prime numbers
 1000000. prime numbers
 1100000. prime numbers
 1200000. prime numbers
 1300000. prime numbers
 1400000. prime numbers
 1500000. prime numbers
 1600000. prime numbers
 1700000. prime numbers
 1800000. prime numbers
 1900000. prime numbers
 2000000. prime numbers
 2100000. prime numbers
 2200000. prime numbers
 2300000. prime numbers
 2400000. prime numbers
 2500000. prime numbers
 2600000. prime numbers
 2700000. prime numbers
 2800000. prime numbers
 2900000. prime numbers
 3000000. prime numbers
 3100000. prime numbers
 3200000. prime numbers
 3300000. prime numbers
 3400000. prime numbers
 3500000. prime numbers
 3600000. prime numbers
 3700000. prime numbers
 3800000. prime numbers
 3900000. prime numbers
 4000000. prime numbers
 4100000. prime numbers
 4200000. prime numbers
 4300000. prime numbers
 4400000. prime numbers
 4500000. prime numbers
 4600000. prime numbers
 4700000. prime numbers
 4800000. prime numbers
 4900000. prime numbers
 5000000. prime numbers
 5100000. prime numbers
 5200000. prime numbers
 5300000. prime numbers
 5400000. prime numbers
 5500000. prime numbers
 5600000. prime numbers
 5700000. prime numbers
 5761455 prime numbers found in 10 secs.

Show prime numbers

Start of Area : 1234567
End of Area : 1234789
1234577 1234603 1234613 1234627 1234657 1234687 1234703 1234721 1234747 1234757
1234759 1234769 1234777 1234787

Start of Area : -1
End of Area : -1



This page took 0.02 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.