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

求大神帮忙
int i, j, sum = 0;
            for (i = 100; i < 200; i++)
            {
                for (j = 2; j <= i; j++)
                {
                    if (i % j == 0)
                        break;
                }
                if (j > i / 2)这段代码是什么意思?
                    sum += i;
            }
            Console.WriteLine("100-200的质数和为: {0}", sum);
            Console.ReadKey();

------解决方案--------------------
如果j比i / 2大,那么说明它不能被(2~它本身除以2)之间的任何一个数字整除,那么它就是一个质数,所以sum需要累加它

for (j = 2; j <= i; j++)
可以修改为
for (j = 2; j <= i / 2; j++)