在C ++中计算范围内的素数

给出了范围变量START和END。目的是找到在[START,END]范围内的质数计数。

我们将检查范围内的数字i是否为质数,方法是检查除1以外的任何数字是否将其整除并在1与i / 2之间。如果是素数。增量计数。

让我们通过示例来理解。

输入值 

Start=1 End=20

输出结果 

范围内的质数: 8

说明 

Primes between 1 and 20 are: 2,3,5,7,11,13,17,19.

输入值 

Start=100 End=200

输出结果 

范围内的质数: 21

说明 

Primes between 100 and 200 are: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

以下程序中使用的方法如下

  • 我们将范围变量作为START和END。

  • 函数countPrimes(int strt,int end)返回范围内的质数。

  • 将初始变量计数设为0。

  • 使用for循环从i = strt到i <= end遍历

  • 取每个数字i并使用isprime(i)检查它是否为质数。

  • 如果数字不是素数,函数isprime(int num)将返回0,如果是素数则返回1。

  • 循环结束后,返回count作为结果。

示例

#include <bits/stdc++.h>

using namespace std;

int isprime(int num){

   if (num <= 1)

      return 0;

   for (int i = 2; i <= num/2; i++){

      if (num % i == 0)

         { return 0; }

   }

   return 1; //if both failed then num is prime

}

int countPrimes(int strt,int end){

   int count=0;

   for(int i=strt;i<=end;i++){

      if(isprime(i)==1)

         { count++; }

   }

   return count;

}

int main(){

   int START=10, END=20;

   cout <<endl<<"范围内的质数: "<<countPrimes(START,END);

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出-

范围内的质数: 4

以上是 在C ++中计算范围内的素数 的全部内容, 来源链接: utcz.com/z/317055.html

回到顶部