带有C#的模块化反转未按预期工作
本文关键字:工作 模块化 带有 | 更新日期: 2023-09-27 18:29:07
我正在尝试计算模逆。这是我尝试过的,但不起作用。
while (priv != 1)
{
priv = ((x * other) % modulo);
x++;
textBox3.Text = textBox3.Text + "Trying: " + priv.ToString() + " ..."+"'n";
if (priv == 1)
{
textBox3.Text = (" IS: " + priv.ToString() +" !");
}
}
有时这会输出1
,或者什么都不输出。
我正在尝试模逆(x) of [x*781]%2828 = 1
它输出1或不输出,因为输出代码封装在priv == 1
检查中。。。
您可能希望对代码进行此更改(不确定计算是否正确,因为这不是您描述的问题的原因):
while (priv != 1)
{
priv = ((x * other) % modulo);
x++;
textBox3.Text = textBox3.Text + "Trying: " + priv.ToString() + " ..."+"'n";
if (priv == 1)
{
break; // end the loop
}
}
textBox3.Text = (" IS: " + priv.ToString() +" !");
好吧,我不想毁了你的家庭作业。以下是一篇关于计算所需内容的各种算法的维基百科文章:http://en.wikipedia.org/wiki/Modular_multiplicative_inverse