首页 > 后端开发 > C++ > 正文

在C++中的可重构数

WBOY
发布: 2023-08-31 18:49:15
转载
1486 人浏览过

在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
    最新问题
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!