首页 > 学院 > 开发设计 > 正文

计算1-100之间的所有质数(素数)的和

2019-11-17 03:21:09
字体:
来源:转载
供稿:网友

计算1-100之间的所有质数(素数)的和

求1-100之间的所有质数(素数)的和:

所以先必须知道什么是质数?

一个数是不是素数 “素数”是指除了能被1和自身整除外,不能被任何其它整数整除的自然数。

然后知道有哪些是质数:

记忆的方法:

100以内质数记忆法 100以内的质数共有25个,这些质数我们经常用到,可以用下面的两种办法记住它们。 一、规律记忆法 首先记住2和3,而2和3两个质数的乘积为6。100以内的质数,一般都在6的倍数前、后的位置上。如5、7、11、13、19、23、29、31、37、41、43……只有25、35、49、55、65、77、85、91、95这几个6的倍数前后位置上的数不是质数,而这几个数都是5或7的倍数。由此可知:100以内6的倍数前、后位置上的两个数,只要不是5或7的倍数,就一定是质数。根据这个特点可以记住100以内的质数。 二、分类记忆法 我们可以把100以内的质数分为五类记忆。 第一类:20以内的质数,共8个:2、3、5、7、11、13、17、19。 第二类:个位数字是3或9,十位数字相差3的质数,共6个:23、29、53、59、83、89。 第三类:个位数字是1或7,十位数字相差3的质数,共4个:31、37、61、67。 第四类:个位数字是1、3或7,十位数字相差3的质数,共5个:41、43、47、71、73。 第五类:还有2个持数是79和97。

1-100之间的质数和:1060

 1  class PRogram 2     { 3         private static void Main(string[] args) 4         { 5             int sum = GetSumPrime(1, 100); 6             Console.WriteLine("1-100之间的质数和是{0}",sum); 7             Console.ReadKey(); 8         } 9         /// <summary>10         /// 求质数和11         /// </summary>12         /// <param name="p1"></param>13         /// <param name="p2"></param>14         /// <returns></returns>15         private static int GetSumPrime(int p1,int p2)16         {17             int sum = 0;18             for (int i = p1; i <= p2; i++)19             {20                 if (IsNo(i))21                 {22                     sum += i;23                 }24             }25             return sum;26         }27         /// <summary>28         /// 判定是否为质数29         /// </summary>30         /// <param name="number"></param>31         /// <returns></returns>32         private static bool IsNo(int number)33         {34             if (number<2)35             {36                 return false;37             }38             for (int i = 2; i < number; i++)39             {40                 if (number%i == 0)41                 {42                     return false;43                 }44             }45             return true;46         }47     }
View Code


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表