User:Yeti: Difference between revisions

From Rosetta Code
Content added Content deleted
m (meh)
Line 4: Line 4:
----
----


=DC/Questions/DROP=
=Primes/Python/FSOE=
TODO Drop top of stack without side effects
<pre>
# assume there is a value in x[1337], e.g. "gold"
[gold] 1337 :x

# "trash" on the stack:
[trash]

# push x[1337] to x-stack
1337;x Sx
# deposit TOS in x[1337]
1337:
# top of x-stack to x[1337]
Lx 1337:

1337 ;x

[Stack: ]PAP f
</pre>
{{out}}
<pre>
Stack:
gold
</pre>
Sigh!

Is there really no simpler way to drop the top of stack that works for strings and numbers and in all versions of Dc?

=Python/Primes/FSOE=
{{works with|Python|2.x}}
{{works with|Python|2.x}}
This is a sequentialised variant of the well known sieve method (ab)using a dictionary as sparse array.
This is a sequentialised variant of the well known sieve method (ab)using a dictionary as sparse array.

Revision as of 21:27, 24 February 2019

My Sandbox

I need to get used to this flavour of markup first. That'll take some time. Meanwhile I collect my examples here. If you think, some example is worth being moved to the "right" place, feel free to do so and leave me a note...


DC/Questions/DROP

TODO Drop top of stack without side effects

# assume there is a value in x[1337], e.g. "gold"
[gold] 1337 :x

# "trash" on the stack:
[trash]

# push x[1337] to x-stack
1337;x Sx
# deposit TOS in x[1337]
1337:
# top of x-stack to x[1337]
Lx 1337:

1337 ;x

[Stack: ]PAP f
Output:
Stack: 
gold

Sigh!

Is there really no simpler way to drop the top of stack that works for strings and numbers and in all versions of Dc?

Python/Primes/FSOE

Works with: Python version 2.x

This is a sequentialised variant of the well known sieve method (ab)using a dictionary as sparse array. <lang python>L = {} n = 2

while 1:

       if n in L:
               P = L[n]
               del L[n] # optional - saves some memory.
       else:
               print n
               P = [n]
       for p in P:
               npp = n+p
               if npp in L:
                       L[npp].add(p)
               else:
                       L[npp] = set([p])
       n += 1</lang>
Output:
2
3
5
7
11
13
17
19
23
29

...the program has to be terminated by the user e.g. by typing ctrl-c.


My Favorite Languages
Language Proficiency
AWK ---
C ---
Dc ---
Spin ---