Friday 15 January 2010

Prime number program in C -



Prime number program in C -

this programme supposed print first x prime numbers, noticed printing non-prime numbers, such 27 or 35. i've been looking @ hours , nil seems pop up. please, if know what's wrong, tell me.

#include <stdio.h> int main(){ int i=0, cont=2, prim=2, quant; printf("insert number of prime numbers wish: "); scanf("%d", &quant); printf("the first %d prime numbers are:\n", quant); while(i<quant){ if(prim%cont!=0 && (cont>1 && cont<prim)){ cont++; } else if(prim%cont==0 && (cont>1 && cont<prim)){ prim++; } else if(prim%cont==0 && cont==prim){ printf("%d\n", prim); prim++; cont=2; i++; } } homecoming 0; }

code:

int count = 0, quant = 5, i, j; int flag = 0; for(prim = 2 ; count <= quant ; prim ++) { flag = 0; for(j = 2; j < prim/2; j++) { if(prim % j == 0) { flag = 1; break; } } if(flag == 0) { printf("%d\n", prim); count++; } }

update code as:

while(i<quant){ if(cont<prim) { if(prim%cont!=0) { cont++; } else { prim++; cont = 2; // restart cont } } else if(prim%cont==0 && cont==prim){ printf("%d\n", prim); prim++; cont=2; i++; } }

c primes

No comments:

Post a Comment