算法反转c#

本文关键字:算法 | 更新日期: 2023-09-27 18:18:53

我用c#写了一些算法:

int num3 = 260005;
string text = this.textBox1.Text;
int length = text.Length - 4;
int num5 = ((Convert.ToInt32(text.Substring(4, length)) - 0x7d1) / 2) - 0x7d1;

if (num3 == num5)
{
  do somthing!!!
}

有人能解释如何得到正确的输入为textBox1?我试着做数学,但我卡住了。

我现在明白了。我被4个字符弄糊涂了。

算法反转c#

此代码将匹配您正在查找的内容…这是因为您丢弃了文本框的前导四个字符,然后做了一个简单的((x - 2001) / 2) - 2001 = 260005方程,因此x = 526013:

int num3 = 260005;
string text = "XXXX526013";
int length = text.Length - 4;
int num5 = ((Convert.ToInt32(text.Substring(4, length)) - 0x7d1) / 2) - 0x7d1;
if (num3 == num5)
{
    Console.WriteLine("Match!");
}
else
{
    Console.WriteLine("No Match! {0}", num5);
}

你可以简单地反转你的算法:

string text = "asdf" + (((num3 + 0x7d1)*2) + 0x7d1);