Re: Prime Numbers
- From: niklaus@xxxxxxxxx
- Date: 6 Jan 2007 09:50:52 -0800
rhle.freak wrote:
Here is my code to generate prime numbers.It works absolutely fine whentypedef is needed in C not in C++
the range is
*not very large*. However on initializing i with a large integer it
produces erroneous results
(some numbers ending in 5 ..which obviously cannot be prime numbers)
can anyone please help me out with the reason??
/*Generate Prime Numbers*/
#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node *next;
};
node* create_node(void)I ran it and found primes until 20000 fine. Well can you tell me for
{
struct node *z;
z=(node*)malloc(sizeof(node));
if(z==NULL)
{
printf("Error");
exit(0);
}
return z;
}
node* node_insert(struct node *start,int prime_num)
{
struct node *z;
z=create_node();
z->data=prime_num;
z->next=start;
start=z;
return start;
}
int main(void)
{
int flag;
unsigned /*long long*/ int i;
struct node *start=NULL,*j;
for(i=2;i<20000;i++) /*Range to check*/
{
flag=0;
for(j=start;j!=NULL;j=j->next) /*Call the prime numbers from
the stack*/
{
if(i%j->data==0 || i%2==0)
flag=1;
}
if(flag==0)
{
start=node_insert(start,i); /*Push the generated prime numbers into
the stack*/
printf("%d\n",i);
}
}
return 0;
}
which testcase it fails which value of i it fails. One reason could be
overflow .Otherwise it looks fine
Moreover do a for(i=3;i< MAX ;i+=2)
.
- References:
- Prime Numbers
- From: rhle.freak
- Prime Numbers
- Prev by Date: Re: Request
- Next by Date: Re: Request
- Previous by thread: Prime Numbers
- Next by thread: Re: Prime Numbers
- Index(es):
Relevant Pages
|