My prime counting function

J

Jussi Piitulainen

JSH said:
On Aug 5, 3:15 am, bugbear wrote: ....
Actually, if you're talking about maths,
a really clean "expository" implementation
would be of more interest.
   BugBear

What's not clear about this algorithm?

Sieve form of my prime counting function:

With natural numbers x and n, where p_i is the i_th prime:

P(x,n) = x - 1 - sum for i=1 to n of {P([x/p_i],i-1) - (i-1)}

where if n is greater than the count of primes up to and including
sqrt(x) then n is reset to that count.

P(100,4) = 25.  There are 25 prime numbers up to 100, where you need
the first 4 prime numbers which are 2, 3, 5 and 7 with that algorithm
to get that count.

What's not clear?

James Harris

I think it interesting that I didn't get a reply because now I can
talk about the really frustrating part of this saga with my

Below is an implementation of your algorithm (for Java's long type)
based on your description of it, as quoted above. A couple of things
were not immediately clear to me from reading your description: first,
sqrt(x) must mean floor(sqrt(x)); second, you don't mention the base
case of the recursion; third, the significance of n when less than
floor(sqrt(x)) is lost to me, but I guess that does not matter.

I used x < 2 as the base case, with the value 0. I think the else
branch in primeCount(x, n) mirrors your description transparently;
prime(i) implements something that can reasonably be called a sieve;
and floorSqrt(m) uses straight binary search.

The main method prints useful diagnostics for zero or one arguments,
and P(x, n) when given x and n; java -cp . P 100 100 produces the
number of primes 25 and the diagnostic information that it pooled 4
primes for the result, so at least that case works as you say.

import java.util.List;
import java.util.ArrayList;

class P {
public static void main(String [] args) {
if (args.length == 0) {
System.out.println("Long.MAX_VALUE == "
+ Long.MAX_VALUE);
System.out.print("floorSqrt(Long.MAX_VALUE) == "
+ floorSqrt(Long.MAX_VALUE));
System.out.print((floorSqrt(Long.MAX_VALUE) < Integer.MAX_VALUE)
? " < "
: " > ");
System.out.print("Integer.MAX_VALUE == ");
System.out.println(Integer.MAX_VALUE);
System.out.print("First ten primes:");
for (int i = 1 ; i <= 10 ; ++ i) {
System.out.print(' ');
System.out.print(prime(i));
}
System.out.println();
}
else if (args.length == 1) {
long x = Long.valueOf(args[0]);
System.out.println("floorSqrt(" + x + ") == "
+ floorSqrt(x));
}
else if (args.length == 2) {
long x = Long.valueOf(args[0]);
long n = Long.valueOf(args[1]);
System.out.println("primeCount(" + x + ", " + n + ") == "
+ primeCount(x, n));
System.out.println("prime pool size: " + knownPrimes.size());
}
else throw new IllegalArgumentException();
}

static long primeCount(long x, long n) {
if (x < 2) {
// to avoid infinite recursion - primeCount(1,0) ok?
return 0;
}
else {
long s = floorSqrt(x);
long c = primeCount(s, s);
if (n > c) {
return primeCount(x, c);
}
else {
long sum = 0;
for (int i = 1 ; i <= n ; ++ i) {
sum += primeCount(x/prime(i), i - 1) - (i - 1);
}
return x - 1 - sum;
}
}
}

// (CEILING - 1)*(CEILING - 1) < Long.MAX_VALUE < CEILING*CEILING
private static final long CEILING = (long)Math.sqrt(Long.MAX_VALUE) + 1;

private static long floorSqrt(long m) {
if (m < 0) throw new IllegalArgumentException();
long below = 0;
long above = CEILING;
while (below + 1 < above) {
long middle = (below + above)/2;
// below < middle < above
if (middle * middle > m) {
above = middle;
}
else {
below = middle;
}
}
// below*below <= m < (below + 1)*(below + 1)
return below;
}

private static final List<Long> knownPrimes = new ArrayList<Long>();
static { knownPrimes.add(2L); }

private static long prime(int i) { // prime(1) == 2
for (int k = knownPrimes.size() ; k < i ; ++ k) {
long n = knownPrimes.get(k - 1);
while (divides(knownPrimes, n)) {
++ n;
}
knownPrimes.add(n);
}
return knownPrimes.get(i - 1);
}

private static boolean divides(List<Long> ms, long n) {
for (int k = 0 ; k < ms.size() ; ++ k) {
if (n % ms.get(k) == 0) {
return true;
}
}
return false;
}
}
 
G

gjedwards

What's not clear about this algorithm?
Sieve form of my prime counting function:
With natural numbers x and n, where p_i is the i_th prime:
P(x,n) = x - 1 - sum for i=1 to n of {P([x/p_i],i-1) - (i-1)}
where if n is greater than the count of primes up to and including
sqrt(x) then n is reset to that count.
P(100,4) = 25. There are 25 prime numbers up to 100, where you need
the first 4 prime numbers which are 2, 3, 5 and 7 with that algorithm
to get that count.
What's not clear?
James Harris

I think it interesting that I didn't get a reply because now I can
talk about the really frustrating part of this saga with my discovery
which is that, yes, over the last six years I have talked to
mathematicians including leaders in the area of mathematics that cover
counting primes and the prime distribution and while they've been
polite, at the end of it all they usually just do nothing.

When pressed I hear that they feel they have the right to only pay
attention to research that personally interests them.

So think about that: if some professors at universities around the
world thought that sieve form of my prime counting function were
interesting, 6 years ago, then some of you if you've recently
graduated with computer science degrees might have been learning it in
college.

But because they decided the information wasn't I guess "sexy" enough
to them personally, you get it from some guy apparently ranting on
newsgroups, but if you code it, you will see it works well enough.

That's kind of frustrating but it's also social reality. New ideas
generally have an uphill battle in terms of acceptance.

Years from now for students around the world that may be THE sieve
form prime counting function.

And they'd be surprised to hear that anyone bothered with anything
else, or read it as just interesting history.

Yeah I find that rather odd to say but I'm using my own variant of
Occam's Razor where a simpler prime counting function, easier to
present and easier to explain will win out, like in an evolutionary
process--down the line.

But it's kind of like my definition of mathematical proof coming up
now so highly in Google searches.

Just to see I just typed into Google: my definition of mathematical
proof

And of course my definition of mathematical proof comes up #1 here on
the West Coast search though I suspect that is true across the United
States though it may not be true in other countries but I'd guess it's
also true in Great Britain and Australia.

That's wild to contemplate on the social side (whatever it really
means) but on the survival-of-the-fittest side, it maybe simply
reflect a highly useful putting together of words that is information
purely, and our new tech pulls out the inevitable future of its
dominance faster than happened in the past so I get to puzzle over it
now versus forgetting about it and maybe seeing these ideas dominate
in a few decades, like normal.

Processing of information has sped up thanks to the web.

Social organizations, not surprisingly, have not.

When it comes to them, old tech is still in force, so I suspect that
mathematicians believe they can simply say, not personally interesting
when confronted with my research, as by the old ways they could have
decades before the information dominated, while with the new systems,
arguably, like with my definition of mathematical proof, that idea
acceptance has already visibly begun.

Welcome once again to our brave new world. Maybe evolution is pushing
information at us faster than social structures can stand, so the
question is, who will win? Or should I say, what?

James Harris

according to The Harper Collins Dictionary of
Mathematics:
proof n. a sequence of statements, each of which is either validly
derived from those preceding it or is an axiom or assumption, and the
final member of which, the conclusion, is the statement of which the
truth is thereby established.
 
J

JSH

JSH said:
On Aug 5, 3:15 am, bugbear wrote: ...
Actually, if you're talking about maths,
a really clean "expository" implementation
would be of more interest.
   BugBear
What's not clear about this algorithm?
Sieve form of my prime counting function:
With natural numbers x and n, where p_i is the i_th prime:
P(x,n) = x - 1 - sum for i=1 to n of {P([x/p_i],i-1) - (i-1)}
where if n is greater than the count of primes up to and including
sqrt(x) then n is reset to that count.
P(100,4) = 25.  There are 25 prime numbers up to 100, where you need
the first 4 prime numbers which are 2, 3, 5 and 7 with that algorithm
to get that count.
What's not clear?
James Harris
I think it interesting that I didn't get a reply because now I can
talk about the really frustrating part of this saga with my

Below is an implementation of your algorithm (for Java's long type)
based on your description of it, as quoted above. A couple of things
were not immediately clear to me from reading your description: first,
sqrt(x) must mean floor(sqrt(x)); second, you don't mention the base
Yes.

case of the recursion; third, the significance of n when less than
floor(sqrt(x)) is lost to me, but I guess that does not matter.

The explanation for why the sqrt(x) is important is that the method
actually works by counting composites by prime and then subtracting
that count, so it's counting all the evens, and then it counts all the
odds composites that have 3 as a factor, and then all the composites
that have 5 as a factor that do not have 2 or 3 as a factor and so
forth, and it subtracts the total from x-1.

For instance, with 10, the even composites are 4, 6, 8 and 10.

The odd composite with 3 as a factor is 9, where notice 6 is ignored
as it's already counted above.

And that's it, so you have 5 composites and 10-5-1 = 4, which is the
count of composites and the 1 is subtracted for the number 1 as it's
not considered a prime.

And that's the explanation for what the algorithm is doing.

Oh yeah, for those curious, the people who figured out the start to
modern prime counting did something similar but they'd have the even
composites like before:

4, 6, 8 and 10

but then they'd list ALL the composites that had 3 as a factor, so
they'd have

6 and 9

and then they'd find all the composites that have 2 and 3 as a factor,
and subtract that, so they'd get

6

and have 4 + 2 - 1 = 5.

So the funny thing is that I made one little change in how I do the
count and derived a slightly different formula as a result, but even
with that explanation I get accusations from math people that I just
copied their methods and called them my own!!!

The innovation is so blessedly simple.
I used x < 2 as the base case, with the value 0. I think the else

Yes. The smallest non-zero value is P(2,0) = 1, as 2 is the first
prime.
branch in primeCount(x, n) mirrors your description transparently;
prime(i) implements something that can reasonably be called a sieve;
and floorSqrt(m) uses straight binary search.

The main method prints useful diagnostics for zero or one arguments,
and P(x, n) when given x and n; java -cp . P 100 100 produces the
number of primes 25 and the diagnostic information that it pooled 4
primes for the result, so at least that case works as you say.

There is a fairly straightforward derivation so it IS perfect out to
positive infinity.

And if you like optimizing algorithms you can rapidly begin speeding
it up.

So the succinct explanation for how I have a P(x,n) formula that gives
the count of primes is that I did one thing a little differently from
how mathematicians did it previously in terms of how I count
composites, where to me it just made sense, you know?

I was puzzling out a derivation back in the summer of 2002 and it just
didn't make sense to me that after counting evens I'd still have evens
in the count when I went to 3, so I figured out formulas that gave me
the count of 3 sans evens, and down the line each count would not
repeat the counts of previous primes so I got a slightly different
formula!

Weird thing is that mathematicians got close!!!

If you go the a MathWorld page on prime counting you can see something
interesting:

http://mathworld.wolfram.com/MeisselsFormula.html

With a sieve function called on the page P_2(x,a) you can see a
formula that looks a lot like the algorithm I have as in fact they are
very closely related!

Mathematicians got very close to what I have but refused to make the
step of using a multi-dimensional prime counting function as they use
pi(x)--single variable only.

It might just be an odd historical sidenote but that refusal gives
them greater complexity, as I challenge anyone to read over THEIR
algorithm at that page and consider programming it versus programming
mine.

So there is an amazingly rich story here which seems to have the odd
component that a decision that the prime counting function is one
variable kept mathematicians from seeing an easy algorithm that defies
expectation simply by being multi-variable.


James Harris
 
J

JSH

I dug around in cyberspace and found PrimeCountH.java athttp://hismath.blogspot.com/2005_03_01_archive.html.

That's ironic (don't care to explain except to say that's NOT my
blog), but I'm glad you found it.

I have at times been sloppy about keeping my work out there.

I think it can also be found posted through Google Groups.
After converting the htlm back into something javac would accept I got
it running.  I have to admit I was impressed with the speed. The recent
discussion of primes was terminated with Arne as the winner ( IMHO )
with code that could find pi(Integer.MAX_VALUE) in approximately 30
seconds on my machine ( dual core 3 GHz XP). JSH's code found the same
value is about 0.05 sec.  That can also be compared to a sieve of Atkin
code written in C at about 1.3 sec.

Cool. Intriguingly a lot of the speed-up comes with some equations
found in Knuth. There's are some additional tricks that have to do
with additional mathematics.

The method still though needs a few more mathematical things done to
it and then it's closing in on the fastest in the world based on
algorithms found by Lagarias and Odlyzko.
Not being able to leave well enough alone I embarked on a quest to
obtain even more speed for JSH's code.  And I am finally done.  Some

Really cool.
results:
--------------------------------------------------------
pi(1,000,000,000)         =         50,847,534     0.031 sec
--------------------------------------------------------
pi(2,147,483,648)         =        105,097,565     0.047 sec
--------------------------------------------------------
pi(1,000,000,000,000)     =     37,607,912,018     3.188 sec
--------------------------------------------------------
pi(10,000,000,000,000)    =    346,065,536,839    23.282 sec
--------------------------------------------------------
pi(100,000,000,000,000)   =  3,204,941,750,802   190.125 sec
----------------------------------------------------------
pi(1,000,000,000,000,000) = 29,844,570,422,669  1784.734 sec

The next to last entry is 10^14 in just over 3 minutes.  So computer
speeds have progressed far more that JSH suspected. The final entry is
10^15 in less than half an hour.  This code automatically detects and
uses multiple cores, so using a quad core machine should yield even
better results.

Wow. When I was running the program it'd take nearly an hour to do
10^14, and you got that down to 3 minutes, and while the machines
today are faster they're not that much faster so that is an amazing
job.

Awesome.

Code deleted since it's too hard to copy it out after a reply anyway,
and I'm sure people know to go back to the original post.

I think I'll copy it out myself tomorrow and run it. It's been a
while as I finally just kind of quit doing prime counts.


James Harris
 
A

Andrew Thompson

public class PrimeCountH {

Some results for an AMD Athlon XP1800/Java 1.6.

[OP]
Run 1:
C:\prime>java PrimeCountH 1,000,000,000
pi(1,000,000,000) = 50,847,534 in 0.156 sec

C:\prime>java PrimeCountH 1,000,000,000,000
pi(1,000,000,000,000) = 37,607,912,018 in 26.157 sec

C:\prime>java PrimeCountH 1,000,000,000 true
Sieve Time: 0.062 sec
m_max=32*31623
pi(1,000,000,000) = 50,847,534 in 0.14 sec

C:\prime>java PrimeCountH 1,000,000,000,000 true

Sieve Time: 2.344 sec
m_max=26*1000001
pi(1,000,000,000,000) = 37,607,912,018 in 26.344 sec

C:\prime>pause

Run 2:
C:\prime>java PrimeCountH 1,000,000,000
pi(1,000,000,000) = 50,847,534 in 0.187 sec

C:\prime>java PrimeCountH 1,000,000,000,000
pi(1,000,000,000,000) = 37,607,912,018 in 26.031 sec

C:\prime>java PrimeCountH 1,000,000,000 true
Sieve Time: 0.047 sec
m_max=32*31623
pi(1,000,000,000) = 50,847,534 in 0.156 sec

C:\prime>java PrimeCountH 1,000,000,000,000 true

Sieve Time: 2.328 sec
m_max=26*1000001
pi(1,000,000,000,000) = 37,607,912,018 in 26.078 sec

C:\prime>pause


Run 3:
C:\prime>java PrimeCountH 1,000,000,000
pi(1,000,000,000) = 50,847,534 in 0.141 sec

C:\prime>java PrimeCountH 1,000,000,000,000
pi(1,000,000,000,000) = 37,607,912,018 in 26.484 sec

C:\prime>java PrimeCountH 1,000,000,000 true
Sieve Time: 0.078 sec
m_max=32*31623
pi(1,000,000,000) = 50,847,534 in 0.141 sec

C:\prime>java PrimeCountH 1,000,000,000,000 true

Sieve Time: 2.297 sec
m_max=26*1000001
pi(1,000,000,000,000) = 37,607,912,018 in 25.969 sec

C:\prime>pause
[/OP]
 
M

marlow.andrew

JSH said:
Well, if you program it, you will probably find your typical desktop
computer will take too long at around x=10^10, or 10^11.

Back when I thought that developing a really fast algorithm would
being attention to my work I got a program in Java that would count
prime up to 10^14 in about an hour, with todays computers it'd take
maybe half an hour. It was still way too slow though to compete with
the fastest algorithms known, and after a time I quit that effort.
The program is PrimeCountH.java and is out there in cyberspace
somewhere for those who wish to run it.


James Harris

URL? I tried googling for PrimeCountH.java and saw lots of old USENET
posts, mainly from maths ngs, but no actual code.

-Andrew Marlow
 
J

JSH

Still awaiting your IMPLEMENTATION IN JAVA,
as I requested.

   BugBear

I have posted implementations in Java out there in newsgroups
somewhere, besides, Jussi Piitulainen posted one of his own.

And don't take my disinterest in posting old code on request the wrong
way, but I've been down this road over 5 years ago. So for me it's
been there done that...


___JSH
 
J

JSH

URL? I tried googling for PrimeCountH.java and saw lots of old USENET
posts, mainly from maths ngs, but no actual code.

-Andrew Marlow

Found one doing a search on Yahoo!:

http://groups.google.com.pk/group/s...a/2c7da7501eb9fe5a?lnk=st&q=#2c7da7501eb9fe5a

I think it was the latest or one of the latest.

I'd post the program here but my last copy that I know of I think is
locked on an old hard drive that is currently not in a pc. I did have
it online in various places but every once in a while I get in a mood
and delete things off so it must have gone from some past websites, as
I used to have it all over the place.

I get in moods and just delete things. For a while I was excited to
do prime counts so I was actively working on the problem.

But then I kind of just quit caring, so it has become scarce even for
me.

Kind of ironic that Jack Marsh found it though on a blog meant to mock
me.

It's a weird world.


James Harris
 
D

Daniele Futtorovic

I'd post the program here but my last copy that I know of I think is
locked on an old hard drive that is currently not in a pc. I did have
it online in various places but every once in a while I get in a mood
and delete things off so it must have gone from some past websites, as
I used to have it all over the place.

Good grief. My bollocks-o-meter just went off scale.
 
E

edmund yau

JSH æ到:
That's ironic (don't care to explain except to say that's NOT my
blog), but I'm glad you found it.

I have at times been sloppy about keeping my work out there.

I think it can also be found posted through Google Groups.


Cool. Intriguingly a lot of the speed-up comes with some equations
found in Knuth. There's are some additional tricks that have to do
with additional mathematics.

The method still though needs a few more mathematical things done to
it and then it's closing in on the fastest in the world based on
algorithms found by Lagarias and Odlyzko.


Really cool.


Wow. When I was running the program it'd take nearly an hour to do
10^14, and you got that down to 3 minutes, and while the machines
today are faster they're not that much faster so that is an amazing
job.

Awesome.

Code deleted since it's too hard to copy it out after a reply anyway,
and I'm sure people know to go back to the original post.

I think I'll copy it out myself tomorrow and run it. It's been a
while as I finally just kind of quit doing prime counts.


James Harris

IT manager 蛇頭鼠眼edmund yau (email擬似[email protected])
全香港最濺IT Manager, 見你著西è£è¿”å·¥. 著得好éŽä½¢å°±å•ä½ å¤ ç«Ÿé»žè«—, æ­£å°äºº,
ç—´æ’šç·š
5:00pm俾個jobä½ åš, è·Ÿä½å°±è‡ªå·±åšåˆ°11點æžæŽ‚ä½¢, 第2日就å°ä½ , 話你æžå””掂, å””
撚洗放工呀

最撚柒就係呢æ¢å‹å•¦, æžå€‹çˆ›ç¶²å‡ºé»Ž, 大家去ç‡ä¸‹:
網å€æ“¬ä¼¼www.funzy.com

有幾爛? 仆街, 用IE6開會死機架, 真係唔撚知用乜野skillå¯ä»¥å¯«æ’šåˆ°hangæ©Ÿ.

æˆæ¢teamæœ9晚10, æžå€‹çˆ›ç¶²å¾—個2個functionä»”, 唔係hang機就係死link, 仲話寫
webè¦éƒ½å””知乜撚野skill set, 食屎啦, å°å­¸ç”Ÿå¯«å€‹web都唔撚會hang機啦

個個åŒäº‹æƒ³æ”¾å·¥éƒ½è¦é©šå‘¢æ¨£é©šå€‹æ¨£, 你張你oçš„é’春濺賣就唔撚好å«äººä¸€é½ŠåŒä½ æ¿º
è³£, 人地都有屋ä¼, 你唔撚放工就你o既事, 除撚左打工都唔撚知æžå€‹web未, 屎å‘關刀

大家多多張呢個網發佈出去, è²è¨Žå‘¢ç¨®å°äºº



Counter
1
 
J

JSH

Good grief. My bollocks-o-meter just went off scale.

It's been over six years since I made the discovery, and at least four
I'd guess since I gave up on pushing for faster algorithms.

I still like bringing the subject up, but my expectations aren't high.

That's not my fault: you try to stay positive for 6 years on your math
discovery and see what happens to you.

You'd be like me, if you survived it. Do you think you'd survive it?

Can you imagine if you worked hard to find something and could
mathematically prove what it was and realized it was about time and
resistance and class stuff, and then just had to keep going?

Do you really believe you'd survive it?


James Harris
 
B

Belzebab

JSH said:
It's been over six years since I made the discovery, and at least four
I'd guess since I gave up on pushing for faster algorithms.

I still like bringing the subject up, but my expectations aren't high.

That's not my fault: you try to stay positive for 6 years on your math
discovery and see what happens to you.

You'd be like me, if you survived it. Do you think you'd survive it?

Can you imagine if you worked hard to find something and could
mathematically prove what it was and realized it was about time and
resistance and class stuff, and then just had to keep going?

Do you really believe you'd survive it?

Just relax. I did.

Now, when you look for reinforcement of your own dignity
in the external, then you are in for about the biggest
surprise in your life.

You see, you can't live just to please others and get
THEIR affirmation of YOUR validity. That is a waste.

But...

You CAN live simply enjoying all the grandior of life
and that very chance you had to explore as you did.
That is enough onto itself.
Jesus does not need any external validation
because he knows all too well that he IS valid,
and about as valid as it gets.

What else do you want?
Some donkey ass, living in the cage of his own limitation,
to affirm YOUR validity? Why would he do that?
If YOU are valid, that means he wasted all his life,
because he knows all too well that he is invalid.
He is simply phoney, a broken record,
playing someone elses song.

He will have to destroy you.
He simply has no choice.
Otherwise, HE is just a low grade scnum,
wasting away,
and spending all his life energy on sucking someone's dick.

But, ANY discovery of your own
is sufficient onto itself.
That is the whole grandior of life.
You think ANY discovery is going to get lost in this rot somehow?
Not so.
NOTHING is EVER lost.
It all becomes a part of ever expanding infinite intelligence.
How can you expand the Infinite?
YOU tell me!

Because it is the very purpose of your life.
 
J

JSH

Good grief. My bollocks-o-meter just went off scale.

Yeah because you lack perspective. I liken the situation I'm in to
having a winning lottery ticket which the ticket agency refuses to
cash.

Ok, didn't want to say a lot but you've pushed me as why do you think
I was pondering the Traveling Salesman Problem, really?

Because I'd previously been working on factoring research and stopped
when I felt I could succeed and if I did I sadly realized that
mathematicians would push me to two choices:

1. Forcing acceptance of the result by posting factorizations
supposedly impossible which would collapse the system I feared.

2. Handing the research over to the US Government and trusting George
W. Bush to be nice to me, and to the world with it.

So I stopped doing it to stay away from those choices, but guess what?

If my approach had viability against factoring then it'd imply that
P=NP and that TSP could be solved so I went to it, and now I'm just
pondering a very strange world.

If my factoring research can be pushed through to conclusion it does
not need me to do it.

If that happens then hackers might get the advantage and hack through
world systems for quite a while before anybody notices and you know
why?

Because people like you believe in things that are not true.

Or I'm wrong. All of it's wrong and I am tired of thinking about it.
Tired of worrying about a world that so clearly does not need me, and
if I'm wrong, nothing will happen.

And if my research is right, it doesn't need me to do anything, so I
talk about old research that is safe like counting primes. Counting
prime numbers is BORING. It's safe and boring. And so I stay away
from scary stuff, go about my business and get up each morning
cherishing each day.

I see Nature now like never before. I appreciate my country like
never before. I love the city I live in, and love going to work every
day, as I fear losing so much while none of you have a worry at all
because at the end of the day, you just do not know mathematics very
well.

Your ignorance is my bliss I guess, as I'm terrified enough to enjoy
what is here in this country today.

I'm partying my ass off as I'm smart enough to know to enjoy myself
NOW.

Partying like there is no more tomorrow because there may not be
because I know enough mathematics to understand what is possible,
while you don't so you, so you don't.

Life IS fair. It's just that intelligence is not evenly distributed.


James Harris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Any Ideas On This Simple Co-Prime program 1
Function for primes 0
Prime Numbers 19
Langton's Ant 0
Prime number generator 11
Java 8 Streams and Eratosthenes 22
Solutions for finding the 1000th prime 2
Java 1

Members online

Forum statistics

Threads
473,995
Messages
2,570,225
Members
46,815
Latest member
treekmostly22

Latest Threads

Top