C++ 中的可重构数
我们得到了一个整数类型的值,比方说,数字。任务是检查给定的数字是否可重构。如果是,则打印该数字是可重构数字,否则无法打印。
什么是可重构数?
当一个数字可以被它的可用因子总数整除时,它就是可重构的。例如,数字 9 是可重构的,因为它具有总因子数,即 3(1, 3, 9) 并且 9 可以被 3 整除,因此它是一个可重构的数字。
让我们看看这个的各种输入输出场景 -
输入 - 整数数 = 9
输出 - 这是一个可重构的数字
说明 - 当一个数字可被其可用因子的总数整除时,它是可重构的。我们得到了一个数字 9,它是可重构的,因为它有总因子数,即 3(1, 3, 9) 并且 9 可以被 3 整除,因此它是一个可重构的数字。
输入 - 整数数 = 10
输出 - 它不是一个可重构的数字
说明- 当一个数字可被其可用因子的总数整除时,它是可重构的。我们得到一个数字 10,它是不可重构的,因为它有总因子数,即 4(1, 2, 5, 10) 并且 10 不能被 4 整除,因此它不是一个可重构的数字
下面程序中使用的方法如下
输入一个整数类型的变量,比方说,数字。
将数据传递给check_Refactorable(int number)bool 类型的函数。
函数内部 check_Refactorable(int number)
将整数类型变量声明为计数为 0。
从 i 到 1 开始循环 FOR,直到 i 小于sqrt(number)。在循环内,检查 IF number % i = 0 然后检查 IF number / i = i 然后将计数预先增加 1。
否则,将计数设置为计数 + 2。
返回数字 % 计数 == 0
打印结果。
示例
#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++ 中的可重构数 的全部内容, 来源链接: utcz.com/z/317255.html