【发布时间】:2020-05-13 15:10:33
【问题描述】:
给定方程 y^2=x^3+2*x+4 mod 7 我想找到 x 和 y 在 0 到 6 范围内的所有可能解。我编写了以下程序:
for (int y=0;y<7;y++)
{
for (int x=0;x<7;x++)
{
if ((x^3+5*x+4)%7==(y^2)%7)
{
cout<<"("<<x<<","<<y<<")"<<endl;
}
}
}
但是,这个程序的输出是错误的。例如,程序打印出 (4,1),但这不满足方程。我该如何解决这个问题?
【问题讨论】:
-
问题更可能是您使用了
^运算符,即按位异或 运算符。 -
顺便说一句,您问题中的方程式似乎与您代码中的方程式不同
-
我很惊讶他们没有用常量警告
xor-ing,这很可能表明其他语言的程序员......