Σε ένα οικογενειακό τραπέζι, ο πατέρας μου ήρθε με ένα ενδιαφέρον προβληματάκι που είχε ακούσει από έναν άνθρωπο, ο οποίος έπαιζε μουσική σε ένα σταθερό σημείο έξω από Νοσοκομείο της Θεσσαλονίκης. Για αυτόν τον άνθρωπο αυτόν μάλιστα λέγονταν ότι ήταν αριθμομνήμων. Το πρόβλημα είχε ως εξής :
Πόσα σκαλοπάτια έχει μια σκάλα ώστε :
Αν την ανέβει κάποιος δύο δύο τα σκαλιά , στο τέλος να περισσεύει ένα σκαλί.
Αν την ανέβει κάποιος τρία τρία τα σκαλιά , στο τέλος να περισσεύουν δύο σκαλιά.
Αν την ανέβει κάποιος τέσσερα τέσσερα τα σκαλιά , στο τέλος να περισσεύουν τρία σκαλιά.
Αν την ανέβει κάποιος πέντε πέντε τα σκαλιά , στο τέλος να περισσεύουν τέσσερα σκαλιά.
Αν την ανέβει κάποιος έξι έξι τα σκαλιά , στο τέλος να περισσεύουν πέντε σκαλιά.
Αν την ανέβει κάποιος επτά επτά τα σκαλιά , στο τέλος να περισσεύουν έξι σκαλιά.
Αν την ανέβει κάποιος οκτώ οκτώ τα σκαλιά , στο τέλος να περισσεύουν επτά σκαλιά.
Αν την ανέβει κάποιος εννιά εννιά τα σκαλιά , στο τέλος να περισσεύουν οκτώ σκαλιά.
Αν την ανέβει κάποιος δέκα δέκα τα σκαλιά , στο τέλος να περισσεύουν εννιά σκαλιά.
Αφού μου αποκάλυψε ότι ο ακέραιος αριθμός που ψάχνουμε είναι τετραψήφιος και διαπίστωσα ότι είναι φυσικά πέρα από τις δυνατότητές μου η απ'ευθείας εύρεσή του, στράφηκα αμέσως στον αγαπημένο υπολογιστή μου από τη δεκαετία του 80. Μου πήρε δύο τρία λεπτά για να γράψω το πρόγραμα στην basic του commodore 64. Η basic αυτή δεν διαθέτει συνάρτηση ακέραιου υπολοίπου mod, γιαυτό χρησιμοποιείται η έκφραση της γραμμής 300. Το πρόγραμμα τρέχει αρκετά αργά, γιαυτό αν δεν θέλετε να περιμένετε όλο το διάστημα μπορείτε να ξεκινήσετε τον έλεγχο των ακεραίων από την τιμή 2500, μια και η λύση του προβλήματος είναι ο ακέραιος 2519 .
Η λίστα του προγράμματος ακολουθεί παρακάτω :

5 PRINT"INSERT FIRST NUMBER TO CHECK"
10 LET A=11:INPUTX
15 REM START OF MOD CHECKING
20 B=10:A=X:GOSUB 300
25 IF A<>9 THEN GOTO 100
30 B=9:A=X:GOSUB 300
35 IF A<>8 THEN GOTO 100
40 B=8:A=X:GOSUB 300
45 IF A<>7 THEN GOTO 100
50 B=7:A=X:GOSUB 300
55 IF A<>6 THEN GOTO 100
60 B=6:A=X:GOSUB 300
65 IF A<>5 THEN GOTO 100
70 B=5:A=X:GOSUB 300
75 IF A<>4 THEN GOTO 100
80 B=4:A=X:GOSUB 300
85 IF A<>3 THEN GOTO 100
86 B=3:A=X:GOSUB 300
87 IF A<>2 THEN GOTO 100
88 B=2:A=X:GOSUB 300
89 IF A<>1 THEN GOTO 100
90 PRINT "FOUND...",X:END
100 REM NEXT VALUE CHECKING
101 PRINT"CHECKING...",X
110 X=X+1:GOTO 15
200 IF A<Β THEN GOTO 230
210 A=A-B
220 GOTO 200
230 RETURN
300 A=A-(INT(A/B)*B)
310 RETURN