Saturday, January 16, 2010

Finger counting

Start counting on the fingers on one hand thusly: 1 thumb, 2 index finger, 3 middle finger, 4 ring finger, 5 little finger, 6 ring finger, 7middle finger, 8 index finger, 9 thumb and so on.

Which finger would you end up on if you were counting to 123456789? That over 123 million in case you think it's a trick question. Assume that you aren't carted of to the funny farm while doing it.

Labels:

8 Comments:

Blogger shpilo said...

middle finger

January 16, 2010 8:09 AM  
Blogger Chris said...

Nope. One down four to go.

Because of that, I want an explanation, not simply the finger.

January 16, 2010 8:18 AM  
Blogger shpilo said...

Index and ring all end in even digits. Thumb ends in one greater than multiples of 8, but 123456788 is not a multiple of 8. Little ends in 3 less than multiples of 8 (here's where my first answer was wrong), 123456792 IS a multiple of 8. Thus, the answer is little finger.

January 16, 2010 8:44 AM  
Blogger Ragknot said...

I got "5 little finger"

Here's the beginning and end of the loop



1 1 thumb
2 2 Index finger
3 3 middle finger
4 4 ring finger
5 5 little finger
6 6 ringer finger
7 7 middle finger
8 8 Index finger
9 9 thumb
10 2 Index finger
11 3 middle finger
12 4 ring finger
13 5 little finger
14 6 ringer finger
15 7 middle finger
.
.
.

123456780 4 ring finger
123456781 5 little finger
123456782 6 ringer finger
123456783 7 middle finger
123456784 8 Index finger
123456785 9 thumb
123456786 2 Index finger
123456787 3 middle finger
123456788 4 ring finger
123456789 5 little finger

January 16, 2010 10:14 AM  
Blogger Ragknot said...

Sub counting()
Dim a, b, c, d, e, f, g, h, i, t As String
Dim n As Double
a = "1 thumb"
b = "2 Index finger"
c = "3 middle finger"
d = "4 ring finger"
e = "5 little finger"
f = "6 ringer finger"
g = "7 middle finger"
h = "8 Index finger"
i = "9 thumb"


For n = 1 To 123456789
If n = 1 Then
t = a
Else
Select Case t
Case "1 thumb": t = b
Case "2 Index finger": t = c
Case "3 middle finger": t = d
Case "4 ring finger": t = e
Case "5 little finger": t = f
Case "6 ringer finger": t = g
Case "7 middle finger": t = h
Case "8 Index finger": t = i
Case "9 thumb": t = b
End Select
End If

If n <= 15 Then Debug.Print n; t
If n >= 123456780 Then Debug.Print n; t

Next n

End Sub

January 16, 2010 10:15 AM  
Blogger Chris said...

Well done everyone. I reckon it's the little finger too.

A complete cycle starting at thumb = 1 ends at thumb = 9. So you add 8 each time you return to the thumb. So you only need to deal with the remainder after dividing by 8. For 123456789 the remainder after dividing by 8 is 5 and that corresponds to the little finger.

Knightmare, you foolish fuel you; Ragknot's computer is ambidextrous. It's probably suffering from RSI as well.

January 16, 2010 12:13 PM  
Blogger Ragknot said...

I wondered how counting the thumb as both number 1 and number 9 might be confusing in the ToM post.

I thought about how to program this to work so the thumb is included twice. So I listed the values given in the post exactly.
Then all I need to do is program what came after what... Beginning with A=1 then choose what comes next.

The Select function works for the first occurrence, then it jumps to the End Select. Using IF would have complicated things.

January 16, 2010 12:32 PM  
Blogger Chris said...

You've got two thumbs on each hand!?#? So you have a left left thumb, a left right thumb, a right left thumb and a right right thumb. On the other hand (ouch) I now realise that your hands are probably interchangeable as well, that explains the other matter.

January 16, 2010 1:06 PM  

Post a Comment

Links to this post:

Create a Link

<< Home