All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > General
Spelling Card Trick II (Posted on 2006-09-29) Difficulty: 3 of 5
In preparation for a card trick, a certain number of cards are taken from a standard deck of cards.

The trick goes as follows: Cards are taken from the top of the deck and transferred to the bottom, each time calling out a letter in the name of a card, starting with A, then C, then E, spelling out ACE; the next, fourth, card transferred is then shown to be the ace of hearts. This continues, saying "T" for the fifth card, "W" for the sixth card and "O" for the seventh card, and showing the eighth card to be the two of hearts.

Since letters are transferred to the bottom, this continues as many times through this modified deck as needed to have shown all the hearts through the king, and then all the spades, from ace through king.

How many cards from the full deck were used to make this modified deck so as to let the trick work?

  Submitted by Charlie    
Rating: 2.5000 (2 votes)
Solution: (Hide)
47 cards were arranged like this:

.X.17.j2..8.q3.9.k4X.1.5j2.6..q3.7.k4..8.5..96.
 h hs hh  s hh s hhs s hss h  ss h ss  h s  hs

where a dot indicates the identity of the card in that position does not matter. An X indicates a 10.

DATA ace,two,three,four,five,six,seven,eight,nine,ten,jack,queen,king
DATA ace,two,three,four,five,six,seven,eight,nine,ten,jack,queen,king

FOR noCards = 26 TO 52
  den$ = SPACE$(noCards)
  suit$ = den$
  psn = 0
  RESTORE
  s$ = "h"
  n = 0
  
  good = 1
  DO
   n = n + 1
   READ d$
   psn = psn + LEN(d$) + 1
   IF psn > LEN(den$) THEN psn = psn - LEN(den$)
   IF MID$(den$, psn, 1) > " " THEN good = 0: EXIT DO
   IF n < 10 THEN
     MID$(den$, psn, 1) = LTRIM$(STR$(n))
   ELSEIF n = 10 THEN
     MID$(den$, psn, 1) = "X"
   ELSE
     MID$(den$, psn, 1) = LEFT$(d$, 1)
   END IF
   MID$(suit$, psn, 1) = s$
   IF n = 13 THEN
    IF s$ = "h" THEN s$ = "s":  ELSE EXIT DO
    n = 0
   END IF
  LOOP
  
  IF good THEN
    FOR i = 1 TO LEN(den$)
     IF MID$(den$, i, 1) = " " THEN
       PRINT ".";
     ELSE
       PRINT MID$(den$, i, 1);
     END IF
    NEXT
    PRINT : PRINT suit$: PRINT LEN(den$)
  END IF
NEXT noCards

				

Comments: ( You must be logged in to post comments.)
  Subject Author Date
Some ThoughtsPuzzle Thoughts K Sengupta2023-05-22 00:19:06
re(2): Full solution with minimum no. of cardsKen Haley2006-10-04 00:26:41
re: Full solution with minimum no. of cardsLeming2006-10-03 12:23:34
SolutionFull solution with minimum no. of cardsKen Haley2006-10-03 01:28:35
SolutionThe D-E-U-C-E with it!Dej Mar2006-09-29 10:55:23
SolutionSolution / spoiler - nothing up my sleevesLeming2006-09-29 08:55:31
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (3)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information