フェルマーの素数性テストのコードを書こうとしましたが、どうやら失敗しました。だから私がよく理解していれば:もしp
素数なら((a^p)-a)%p=0
どこでp%a!=0
。私のコードは問題ないようです。そのため、基本を誤解している可能性があります。ここで何が欠けていますか?
private bool IsPrime(int candidate)
{
//checking if candidate = 0 || 1 || 2
int a = candidate + 1; //candidate can't be divisor of candidate+1
if ((Math.Pow(a, candidate) - a) % candidate == 0) return true;
return false;
}