I have this idea (using C language) for checking whether two strings formed from ASCII letters are anagrams of one another:
-
Check if the strings are the same length.
-
Check if the sum of the ASCII values of all chars is the same for both strings.
-
Check if the product of the ASCII values of all chars is the same for both strings.
I believe that if all three are correct, then the strings must be anagrams of one another. However, I can’t prove it. Can someone help me prove or disprove that this would work?
Thanks!
I wrote a quick program to brute-force search for conflicts and found that this approach does not always work. The strings ABFN and AAHM have the same ASCII sum and product, but are not anagrams of one another. Their ASCII sum is 279 and ASCII product is 23,423,400.
There are a lot more conflicts than this. My program, searching over all length-four strings, found 11,737 conflicts.
For reference, here’s the C++ source code:
Hope this helps!