日期:2014-05-17  浏览次数:21055 次

谁能给我一个求100到200之间的质数的和,让我参考下.
跟文章标题一样,麻烦帮一下。
c# 求100到200质数和 谢谢

------解决方案--------------------
本帖最后由 caozhy 于 2013-04-19 19:21:43 编辑
int sum = 0;
for (int i = 100; i < 200; i++)
{
    if (Enumerable.Range(2, i / 2 - 2).All(x => i % x != 0)) sum += i;
}
Console.WriteLine(sum);
 
------解决方案--------------------
int sum = Enumerable.Range(100, 100).Where(t =>
            {
                for (int i = 2; i <= t / 2; i++) if (t % i == 0) return false;
                return true;
            }).Sum();

------解决方案--------------------

int sum = Enumerable.Range(100, 200).Where(n =>
            {
                for (int i = 2; i <= Math.Sqrt(n); i++) if (n % i == 0) return false;
                return true;
            }).Sum();

------解决方案--------------------

 private static bool IsPrime(int n)
        {
            bool Isflag = true;
            for (int i = 2; i <= n / 2; i++)
            {
                if (n % i == 0)
                {
                    Isflag = false;
                    break;
                }
            }
            return Isflag;
        }

调用

 int xxx = Enumerable.Range(100, 200).ToList().Sum(n => IsPrime(n) ? n : 0);