我有一些用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个字符混淆了。
答案 0 :(得分:1)
此代码将与您要查找的内容相匹配...这是因为您丢弃了文本框的前四个字符,然后执行((x - 2001) / 2) - 2001 = 260005
的简单等式,因此x = 526013
:< / p>
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);
}
答案 1 :(得分:0)
您可以简单地撤消算法:
string text = "asdf" + (((num3 + 0x7d1)*2) + 0x7d1);