您好,欢迎访问一九零五行业门户网

在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't a refactorable number"; } return 0;}
输出如果我们运行上面的代码,它将生成以下输出
it is a refactorable number
以上就是在c++中的可重构数的详细内容。
其它类似信息

推荐信息