21xrx.com
2024-11-08 22:15:14 Friday
登录
文章检索 我的文章 写文章
C++程序:判断完数并输出因子
2023-07-05 15:01:43 深夜i     --     --
C++ 完数 因子 判断 输出

完全数是指一个数恰好等于它的因子之和,如6就是一个完全数,因为1+2+3=6。在计算机编程中,我们可以使用C++语言编写程序来判断一个数是否为完全数,并且输出它的因子。

判断完数需要遍历这个数的所有因子,将它们相加,如果和等于这个数本身,那么这个数就是完全数。我们可以使用for循环语句来遍历所有因子。具体代码如下所示:


int num = 6; // 定义一个变量num,判断是否为完全数

int sum = 0; // 保存因子之和

for(int i = 1; i < num; i++) {

  if(num % i == 0) { // 如果i是num的因子

    sum += i; // 将i加入因子之和

  }

}

if(sum == num)  // 如果因子之和等于num本身

  cout << num << "是完全数" << endl;

else  // 否则num不是完全数

  cout << num << "不是完全数" << endl;

在上面的代码中,我们定义了两个变量,一个是num,即要判断是否为完全数的数,另一个是sum,用于保存因子之和。使用for循环遍历1到num-1的所有数,如果i是num的因子(即num % i == 0),则将i加入sum中。最后判断sum是否等于num本身,如果相等则输出“是完全数”,否则输出“不是完全数”。

如果我们需要输出num的所有因子,只需要在for循环中加入一个cout语句,把因子输出即可。具体代码如下所示:


int num = 6; // 定义一个变量num,判断是否为完全数

int sum = 0; // 保存因子之和

cout << num << "的因子有:";

for(int i = 1; i < num; i++) {

  if(num % i == 0) { // 如果i是num的因子

    sum += i; // 将i加入因子之和

    cout << i << " "; // 将i输出

  }

}

cout << endl;

if(sum == num)  // 如果因子之和等于num本身

  cout << num << "是完全数" << endl;

else  // 否则num不是完全数

  cout << num << "不是完全数" << endl;

在上面的代码中,我们在for循环中加入了一个cout语句,输出num的因子。因子之和的判断和上面代码相同。

综上所述,使用C++语言编写程序来判断一个数是否为完全数,并且输出它的因子,是一道非常基础的编程练习题,适用于初学者入门练习。

  
  

评论区

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