21xrx.com
2024-11-22 07:13:07 Friday
登录
文章检索 我的文章 写文章
C++程序:求n个整数中的合数个数
2023-07-02 11:19:55 深夜i     --     --
C++ 整数 合数 数量 求解

在数学中,合数是指除了1和它本身之外,还有其他正因数的整数。如果我们有一组整数,需要找出其中合数的个数,我们可以使用C++程序来实现。

首先,我们需要输入这组整数的数量n,并依次输入n个整数。然后,我们需要编写一个函数来判断每个输入的整数是否为合数。

判断一个整数是否为合数的方法是,从2到该数的平方根之间检查每个数是否能够整除该数。如果存在一个可以整除该数,则该数是一个合数。如果该数不能被任何数整除,则该数是一个质数。

因此,我们可以编写如下的函数:

bool isComposite(int n) {

  for (int i = 2; i <= sqrt(n); i++) {

    if (n % i == 0)

      return true;

  }

  return false;

}

这个函数接受一个整数n作为输入,返回一个布尔值。如果n是合数,函数返回true,否则返回false。

接下来,我们可以使用循环来遍历每个输入的整数,并计算合数的数量。向计数器中添加1的条件是,该数既不是1也不是质数并且函数isComposite返回true。

最后,我们可以输出合数的数量。

下面是完整的程序:

#include

#include

using namespace std;

bool isComposite(int n) {

  for (int i = 2; i <= sqrt(n); i++) {

    if (n % i == 0)

      return true;

  }

  return false;

}

int main() {

  int n, count = 0;

  cin >> n;

  for (int i = 0; i < n; i++) {

    int num;

    cin >> num;

    if (!isComposite(num) && num != 1) {

      count++;

    }

  }

  cout << "The number of composites is " << count << endl;

  return 0;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复