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

 Palindromic and Tautonymic (Posted on 2009-03-03)
Make a list of distinct positive integers that are obtained by assigning a different decimal digit from 1 to 9 to each of the capital letters in bold in this expression.

(AB)/C + (DE)/F + (GH)/I

How many of these integers are palindromes? How many are tautonymic numbers?

Note:
A tautonymic number is one which can be divided into two equal non-palindromic halves, with each part having at least two different digits. For example, each of 3636, 5252, 6767, 276276 and 56635663 is a tautonymic number - but, none of 4444 and 555555 is a tautonymic number.

 See The Solution Submitted by K Sengupta Rating: 5.0000 (1 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
 computer solution | Comment 2 of 5 |
`1^5 / 2 + 3^7 / 6 + 4^9 / 8 = 33133       palindrome2^5 / 1 + 3^7 / 9 + 4^6 / 8 = 787         palindrome2^5 / 4 + 3^8 / 1 + 6^7 / 9 = 37673       palindrome2^5 / 8 + 3^7 / 9 + 4^6 / 1 = 4343        tautonym3^8 / 9 + 5^7 / 2 + 6^1 / 4 = 39793       palindrome4^7 / 1 + 6^8 / 2 + 9^5 / 3 = 875875      tautonym4^7 / 8 + 5^3 / 2 + 9^1 / 6 = 2112        palindrome7^5 / 2 + 8^4 / 1 + 9^3 / 6 = 12621       palindrome`

so there are 6 palindromes and 2 tautonymic numbers.

DECLARE SUB Permute (A\$)
DEFDBL A-Z
PRINT
s\$ = "123456789": hgs\$ = s\$
DO
A = VAL(LEFT\$(s\$, 1)): D = VAL(MID\$(s\$, 4, 1)): G = VAL(MID\$(s\$, 7, 1))
IF A < D AND D < G THEN
B = VAL(MID\$(s\$, 2, 1)): E = VAL(MID\$(s\$, 5, 1)): H = VAL(MID\$(s\$, 8, 1))
C = VAL(MID\$(s\$, 3, 1)): F = VAL(MID\$(s\$, 6, 1)): I = VAL(MID\$(s\$, 9, 1))
v = (A ^ B) / C + (D ^ E) / F + (G ^ H) / I
tst = ABS(INT(v) - v)
IF tst > .9999999000000001# OR tst < .000001# THEN good = 1: ELSE good = 0
IF good THEN
v = INT(v + .5)
st\$ = LTRIM\$(STR\$(v))
pal = 1
FOR j = 1 TO INT(LEN(st\$) / 2)
IF MID\$(st\$, j, 1) <> MID\$(st\$, LEN(st\$) + 1 - j, 1) THEN pal = 0: EXIT FOR
NEXT
IF LEN(st\$) MOD 2 = 0 THEN Taut = 1:  ELSE Taut = 0
Gap = INT(LEN(st\$) / 2)
FOR j = 1 TO INT(LEN(st\$) / 2)
IF MID\$(st\$, j, 1) <> MID\$(st\$, j + Gap, 1) THEN Taut = 0: EXIT FOR
NEXT
Taut2 = 0
FOR j = 2 TO LEN(st\$)
IF MID\$(st\$, j, 1) <> LEFT\$(st\$, 1) THEN Taut2 = 1: EXIT FOR
NEXT
IF pal OR Taut AND Taut2 THEN
PRINT MID\$(s\$, 1, 1); "^"; MID\$(s\$, 2, 1); " / "; MID\$(s\$, 3, 1); " + ";
PRINT MID\$(s\$, 4, 1); "^"; MID\$(s\$, 5, 1); " / "; MID\$(s\$, 6, 1); " + ";
PRINT MID\$(s\$, 7, 1); "^"; MID\$(s\$, 8, 1); " / "; MID\$(s\$, 9, 1);
PRINT " = "; st\$,
IF pal THEN PRINT "palindrome":  ELSE PRINT "tautonym"
END IF
END IF
END IF
Permute s\$
LOOP UNTIL hgs\$ = s\$
END

 Posted by Charlie on 2009-03-03 14:07:14

 Search: Search body:
Forums (0)