【发布时间】:2011-02-16 20:59:17
【问题描述】:
挑战位于here
好的,所以我想出了要拨打的电话号码,我只是不明白如何处理结果(这可能与我在数学方面的有限经验有关)
所以我计算出的第一个 Prime 斐波那契数大于电话中给出的数
所以让我们呼叫那个号码 x
但现在我不明白“素数除数之和 +1”
据我所知,X 是素数,所以素数除数是 1 和 X
除非它的 (x+1) 找到除数(数组 D)然后找到 D 中的素数(数组 Pd)
Pd1+Pd2=答案
我是在正确地吠叫吗?
到目前为止我的源代码(如果需要,我可以提供主要代码,我假设它不是)
private static long CalcPassword2(long p)
{
p++;
List<int> factors = new List<int>();
for (int i = 1; i <= p; i++)
{
if (p % i == 0)
if (isprime(i))
{
factors.Add(i);
}
}
if (factors.Count >= 2)
{
factors.Sort();
factors.Reverse();
return factors[0]+factors[1];
}
return 1;
}
【问题讨论】:
标签: c# math primes factorization