对于Pi Day,我正在尝试编写一个Java程序,试图在Pi中找到一个给定的单词(或另一个给定的无理数).我几乎完成了所有这些,但是我对如何将pi的每个数字/数字转换为字母感到矛盾.我想说:A = 01,B = 02,C = 03 …… Y = 25,Z = 26.
然而,我对所有可能没有机会的可怜数字序列感到不好,因为任何不以“0”或“2”开头的序列都将被完全忽略.这意味着80%的序列无关紧要?
我可以进行base-26到base-10的转换吗?如果这确实是一个合适的解决方案,不知道如何做代码?
谢谢!
解决方法:
您可以使用方法like this one将Pi从其基数10形式转换为任何其他基础(即基数26,其中您只使用字母A-Z,而不是数字0-9).生成的“数字”将是所有字母.
您必须修改fromDecimalToOtherBase方法,以便它只输出字母.否则,它应该非常简单,并且在十进制和任意基数之间进行转换的算法相同.
仅仅为了踢,我还发现this page包含一个任意的基本转换器.如果输入没有小数的Pi,并为目标库输入“26”,它将进行转换(虽然它仍然使用数字0-9,所以它不会“解决”问题,你想要的方式).
标签:java,numbers
来源: https://codeday.me/bug/20190609/1208120.html