Encryption 从这个字符串中提取字母位置的数学公式是什么?

Encryption 从这个字符串中提取字母位置的数学公式是什么?,encryption,Encryption,上面的完整字符串是名为string-1和string-2的两个不同字符串的组合形式。两个字符串的长度均为32个字符。还有另外两个参数interval和size。字符串-1被分成长度=间隔的片段,字符串-2被分成长度=大小的片段,形成完整的字符串。一旦把所有的字符串-2放入完整的字符串中,字符串-1将填充到完整的字符串中 大小变量的可能值为:2、4、8、16 间隔变量的可能值为:从1到大小变量值的任意值 我的要求是编写一个数学方程,获取字符串-1的第n个字符的索引(完整字符串),而不将完整字符串拆

上面的完整字符串是名为string-1和string-2的两个不同字符串的组合形式。两个字符串的长度均为32个字符。还有另外两个参数intervalsize。字符串-1被分成长度=间隔的片段,字符串-2被分成长度=大小的片段,形成完整的字符串。一旦把所有的字符串-2放入完整的字符串中,字符串-1将填充到完整的字符串中

大小变量的可能值为:2、4、8、16
间隔变量的可能值为:从1到大小变量值的任意值

我的要求是编写一个数学方程,获取字符串-1的第n个字符的索引(完整字符串),而不将完整字符串拆分为其2个原始字符串

例如。 在上面的完整字符串中,如果我想获取字符串-1的第5个字符,它将是'2',其在完整字符串中的索引是12。 对于第6个字符,'1'具有索引15


字符的p.S.索引从0到索引,第n个字符从1到n

我从其他地方得到了答案,并在这里分享

PHP代码:

min(32,(floor($n/$interval)*$size))+$n

举个例子:

character = 5, interval = 1, size = 2
index = (2 + 1)*floor((5 - 1)/1) + (5 - 1) % 1
      = 3*floor(4) + 0
      = 12


character = 6, interval = 1, size = 2
index = (2 + 1)*floor((6 - 1)/1) + (6 - 1) % 1
      = 3*floor(5) + 0
      = 15
index = (size + interval)*floor((character - 1)/interval) + (character - 1) % interval    
character = 5, interval = 1, size = 2
index = (2 + 1)*floor((5 - 1)/1) + (5 - 1) % 1
      = 3*floor(4) + 0
      = 12


character = 6, interval = 1, size = 2
index = (2 + 1)*floor((6 - 1)/1) + (6 - 1) % 1
      = 3*floor(5) + 0
      = 15