61 lines
4.1 KiB
Plaintext
61 lines
4.1 KiB
Plaintext
|
|
//UPLOAD JOB (ACCT),'UPLOAD',
|
|
// USER=@05054,PASSWORD=PASSWD,
|
|
// CLASS=A,MSGCLASS=H,NOTIFY=@05054
|
|
//COPY EXEC PGM=IEBUPDTE,PARM=NEW
|
|
//SYSPRINT DD SYSOUT=*
|
|
//SYSUT1 DD DUMMY
|
|
//SYSUT2 DD DSN=@05054.SRCLIB.C,DISP=MOD,UNIT=SYSDA,
|
|
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
|
|
//SYSIN DD *
|
|
./ ADD NAME=SIEVE08
|
|
#include<stdio.h>
|
|
|
|
#define LIMIT 10000
|
|
#define PRIMES 1000
|
|
|
|
|
|
int main()
|
|
{
|
|
int i,j,numbers[LIMIT];
|
|
int primes[PRIMES];
|
|
|
|
for (i=0;i<LIMIT;i++)
|
|
{
|
|
numbers[i]=i+2;
|
|
}
|
|
|
|
for (i=0;i<LIMIT;i++)
|
|
{
|
|
if (numbers[i]!=-1)
|
|
{
|
|
for (j=2*numbers[i]-2;j<LIMIT;j+=numbers[i])
|
|
numbers[j]=-1;
|
|
}
|
|
}
|
|
|
|
j = 0;
|
|
for (i=0;i<LIMIT&&j<PRIMES;i++)
|
|
if (numbers[i]!=-1)
|
|
primes[j++] = numbers[i];
|
|
|
|
printf("\n");
|
|
printf("PRIME NUMBERS BETWEEN 1 AND %d\n",LIMIT);
|
|
printf("TOTAL PRIMES FOUND: %d\n\n",PRIMES);
|
|
printf("LIST OF PRIMES:\n\n");
|
|
|
|
for (i=0;i<PRIMES;i++)
|
|
if (i % 20 == 0)
|
|
{
|
|
printf("\n %4d ",primes[i]);
|
|
}
|
|
else
|
|
{
|
|
printf("%4d ",primes[i]);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
./ ENDUP
|
|
/*
|