C++ 中给定元素个数的矩阵(不同阶数)计数


给定元素的总数,任务是计算可以使用给定数据形成的不同阶数矩阵的总数。矩阵的阶数为 mxn,其中 m 为行数,n 为列数。

输入 − int numbers = 6

输出 −可以使用给定元素个数形成的不同阶数矩阵的个数为:4

解释 − 给定矩阵的任意阶数可以包含的元素总数为 6。因此,包含 6 个元素的可能的矩阵阶数为 (1, 6)、(2, 3)、(3, 2) 和 (6, 1),共有 4 个。

输入 − int numbers = 40

输出 −可以使用给定元素个数形成的不同阶数矩阵的个数为:8

解释 − 给定矩阵的任意阶数可以包含的元素总数为 40。因此,包含 40 个元素的可能的矩阵阶数为 (1, 40)、(2, 20)、(4, 10)、(5, 8)、(8, 5)、(10, 4)、(20, 2) 和 (40, 1),共有 8 个。

下面程序中使用的方案如下

  • 输入可用于形成不同阶数矩阵的元素总数。

  • 将数据传递给函数以进行进一步计算

  • 使用一个临时变量 count 来存储不同阶数矩阵的计数

  • 从 i 到 1 开始循环到 number

  • 在循环内部,检查 IF number % i = 0 则将 count 加 1

  • 返回 count

  • 打印结果

示例

 实时演示

#include <iostream>
using namespace std;
//function to count matrices (of different orders) with given number of elements
int total_matrices(int number){
   int count = 0;
   for (int i = 1; i <= number; i++){
      if (number % i == 0){
         count++;
      }
   }
   return count;
}
int main(){
   int number = 6;
   cout<<"Count of matrices of different orders that can be formed with the given number of elements are: "<<total_matrices(number);
   return 0;
}

输出

如果运行以上代码,它将生成以下输出:

Count of matrices of different orders that can be formed with the given number of elements are: 4

更新于: 2020年11月2日

199 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告