统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10
输出: 4
解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
首先,要弄明白质数的含义。
质数就是除了1和它本身之外,再也没有整数能被它整除的数.比如:2..3.5.7.11.13.17.19.23.39.31…………………………
面花欲至停可度,偏式沾身自可流(给上面的描述和背景颜色做了一句诗)
static void Main(string[] args)
{
int b= 10;
int res = GetZS(b);
Console.Write(res);
Console.ReadKey();
}
#region 204. 计数质数 c#
private static int GetZS(int b)
{
int p = 0;
for (int i = 2; i < b; i++)
{
if (st(i)==true)
{
p++;
}
}
return p;
}
static bool st(int n) //判断一个数n是否为质数
{
int m = (int)Math.Sqrt(n); //求平方根后的数判断如果取余不等于0 并且 不等于求平方根前的数 都是质数
for (int i = 2; i <= m; i++)
{
if (n % i == 0 && i != n)
return false;
}
return true;
}
#endregion
//判断一个数n是否为质数
{
int m = (int)Math.Sqrt(n); //求平方根后的数判断如果取余不等于0 并且 不等于求平方根前的数 都是质数
for (int i = 2; i <= m; i++)
{
if (n % i == 0 && i != n)
return false;
}
return true;
}
#endregion
值需要调用一个判断是否是质数的类就可以做到了,又是一个算法了。
此题吸取:求平方根 用 (int)Math.Sqrt 、 (int)取整 Mach经验值+1