Sponsor Advertisements help keep UGN Security Online.
Sponsor Advertisements help keep UGN Security Online.
Want to earn prizes for clicking online advertisements? Join Rewards1.com.
|
|
|
#17181 - 04/18/04 11:37 AM
c prime # generator
|
Junior Member
Registered: 04/18/04
Posts: 6
Loc: The Riemann Manifold
|
hello. so far i have this program to generate the prime numbers (numbers whose only factors are 1 and themselves) between 1 and 100. what's wrong with this picture? #include <stdio.h>
main
{
int i,j,k,l=0;
for i=2; i<=20; ++i
{
for j=1; j<=i ; ++j
{
k = i%j;
if k == 0
{ l = ++l;
}
if l == 2
{printf "%d is a prime \n",i
}
}
}
return 0;
}thanks for the tips / suggestions G
|
|
Top
|
|
|
|
Sponsor Advertisements help keep UGN Security Online.
Sponsor Advertisements help keep UGN Security Online.
|
|
#17182 - 04/18/04 12:16 PM
Re: c prime # generator
|
Junior Member
Registered: 04/18/04
Posts: 6
Loc: The Riemann Manifold
|
well i solved it in this manner #include <stdio.h>
int main(void)
{
int i,j,l=0;
while i <= 100
{
l = 0;
for j=1; j<=i; j++
{
if i%j == 0
{
l++;
}
}
if l == 2
{
printf "%d is a prime number\n" , i;
}
i++;
}
return 0;
}rather brutish etc. is there any way to stremline it .. like any way to use for loops instead of the while ... thanks G
|
|
Top
|
|
|
|
#17184 - 04/18/04 04:12 PM
Re: c prime # generator
|
Junior Member
Registered: 04/18/04
Posts: 6
Loc: The Riemann Manifold
|
outstanding silentrage !!
that is MUCH faster and more elegant. thank you very much !!
G
|
|
Top
|
|
|
|
#17186 - 04/29/04 06:38 AM
Re: c prime # generator
|
UGN Security Staff
Registered: 03/06/02
Posts: 256
Loc: CA, USA
|
When I made my prime generator, I did it a different way...
If you take your range of numbers... lets say 20, starting with one. go like so...
Well, we know 1 is a prime. so skip that. 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
(things that we've called primes are in bold, composites are in italics)
now, we will eliminate every multiple of 2.
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
ok, now we see that three is the next prime (because its the next not elimanated number). So, lets kill multiples of 3.
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
mmk, Most of those we already eliminated - but so what.
5 is next
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
ok, well that didn't do much.
Well, now that its 11's turn and that is more than half of the range of numbers (20/2==10) there is no reason to check the rest.
Any non-eliminated number is prime.
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
hmmm... those italics didn't show up very well... oh well.
|
|
Top
|
|
|
|
#17187 - 03/31/05 04:05 AM
Re: c prime # generator
|
Junior Member
Registered: 03/30/05
Posts: 1
Loc: Boston
|
I just stored the primes in an array as I found them. To find them you just see if the number can be divided by any of the primes you have already found.
|
|
Top
|
|
|
|
|
Registered: 03/01/02
Posts: 505
|
|
2198 Members
46 Forums
24921 Topics
60091 Posts
Max Online: 1567 @ 04/25/10 10:20 AM
|
|
|
1 registered (Gremelin),
195
Guests and
164
Spiders online. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|