Do you know where your variables are? PerlMonks

Re: beginner help

by salva (Abbot)
 on Aug 02, 2010 at 20:00 UTC ( #852530=note: print w/replies, xml ) Need Help??

Probably, this is not what you need but I can't keep from pointing out that...
```my \$sum = (\$n2 + \$n1) * (\$n2 - \$n1 + 1) / 2;

Replies are listed 'Best First'.
Re^2: beginner help
by jeffa (Bishop) on Aug 02, 2010 at 20:49 UTC

O(1) for the win. :)

jeffa

```L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
```

(If you're not interested in computer science subtleties, please ignore this node - for normal programming tasks the O(1) estimate is good).

For big numbers the algorithm is slower than O(n), while the summing all the values is O(2^n).

In computer science, if you are talking about O(f(n)), n is the input length, not the number that the input presents.

So adding two numbers with length n is O(n), multiplying two numbers naively is O(n^2), there are a few more elaborate algorithms that do it a bit faster.

Summing all numbers from 1 to \$number is O(2^n), because the length of \$number is what we call n.

(This calculation kinda assumes use bigint;, because otherwise on the perl vm adding and multiplying is O(1) indeed)

What is the "n" depends. It could very well be the output length, if the task at hand was eg. to produce N random numbers where N is the number coming from the input. There the length of the input is not really interesting, the value is. (OK, the length and the value of the number is kinda related, but you know what I mean.

Jenda
Enoch was right!
Enjoy the last years of Rome.

Create A New User
Node Status?
node history
Node Type: note [id://852530]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2017-08-19 06:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Who is your favorite scientist and why?

Results (310 votes). Check out past polls.

Notices?