首页  >  文章  >  后端开发  >  在C++中的可重构数

在C++中的可重构数

WBOY
WBOY转载
2023-08-31 18:49:151491浏览

在C++中的可重构数

给定一个整数类型的值,假设为number。任务是检查给定的数字是否可重构。如果是,打印该数字是可重构数字,否则打印不可能。

什么是可重构数字?

当一个数字可以被其可用因子的总数整除时,它就是可重构的。例如,数字9是可重构的,因为它有3个因子(1、3、9),而9可以被3整除,因此它是一个可重构数字。

让我们看看这个的各种输入输出情况-

输入 - int number = 9

输出 - 这是一个可重构数字

解释 - 当一个数字可以被其可用因子的总数整除时,它就是可重构的。我们给定了一个数字9,它是可重构的,因为它有3个因子(1、3、9)

9 可以被 3 整除,因此它是一个可重构的数字。

输入 − int number = 10

输出 − 它不是t a Refactorable number

说明 - 当一个数字可以被可用因子总数整除时,它就是可重构的。我们得到一个数字 10,它是不可重构的,因为它的因子总数为 4(1, 2, 5, 10),并且 10 不能被 4 整除,因此它不是一个可重构的数字

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

  • 输入一个整数类型的变量,比如说数字。

  • 将数据传递给bool类型的函数check_Refactorable(int number)。

  • 函数check_Refactorable(int number)内部

    • 声明一个整型变量,计数为0。

    • 开始循环FOR,从i到1,直到i小于sqrt(数字)。在循环内,检查 IF number % i = 0,然后检查 IF number / i = i,然后将计数预先增加 1。

    • ELSE,将计数设置为 count + 2 .

    • 返回数字 % count == 0

  • 打印结果。

  • 打印结果。 p>

  • 示例

    #include <bits/stdc++.h>
    using namespace std;
    bool check_Refactorable(int number){
       int count = 0;
       for (int i = 1; i <= sqrt(number); ++i){
          if(number % i==0){
             if(number / i == i){
                ++count;
             }
             else{
                count += 2;
             }
          }
       }
       return number % count == 0;
    }
    int main(){
       int number = 9;
       if(check_Refactorable(number) == 1){
          cout<<"It is a Refactorable number";
       }
       else{
          cout<<"It isn&#39;t a Refactorable number";
       }
       return 0;
    }

    输出

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

    It is a Refactorable number

    以上是在C++中的可重构数的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明:
    本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除