examples:project_euler_-_problem_p172
Project Euler - Problem 172
Wie viele 18-stellige Zahlen (ohne führende Nullen) n gibt es, so dass keine Stelle mehr als drei Mal in n auftritt?
Antwort: Finde es selbst heraus mit Forth
Eine Lösung mit gforth:
#! /usr/bin/gforth
: d* ( d d -- d ) 3 pick * >r tuck * >r um* r> + r> + ;
: p172 { W: n W: r -- D: ret }
n 3 = if r r r * * s>d exit then
n 2 = if r r * s>d exit then
n 1 = if r s>d exit then
n 1- r 1- recurse \ -- d2
n 2 - r 1- recurse n 1- s>d d* d+ \ d2 -- d3
n 1- dup 1- 2 */ s>d n 3 - r 1- recurse d* d+ \ d3 -- d4
r 10 = if 9. else r s>d then d* \ d4 -- ret
;
18 10 p172
." The answer is " d. cr
bye
examples/project_euler_-_problem_p172.txt · Zuletzt geändert: 2013-06-06 21:26 von 127.0.0.1