gpt4 book ai didi

c++ - 如何判断输入的数字是否平衡?

转载 作者:行者123 更新时间:2023-11-27 22:32:50 24 4
gpt4 key购买 nike

根据我的讲师所说,如果除数之和等于它自身,则平衡数是平衡数。例如:6 是一个平衡数,因为 1+2+3=6

这是我的第一份作业,所以我很吃力。

#include <iostream>
using namespace std;

int main() {
int num = 0;
int sum = 0;
cout << "Enter a number" << endl;
cin >> num;
if (num % (num-1) == 0 ){

for(int i =1; sum == 0; i++) {
sum += (num - i);

}

if (sum == num) {
cout << "Great Success" << endl;
}
else {
cout << "Wrong number" << endl;
}


}

}

最佳答案

先做数学题。通常代码有点乱只是因为你自己没有做好足够的准备来编写代码。在你知道你想写什么之前不要开始写代码。坦率地说,从您的代码中可以看出它与 num-1 划分 num 有关,但除此之外不清楚它应该如何解决问题。而且它的意图使它很难阅读,所以让我们忘记代码并从头开始......

yx 的约数,如果 x % y == 0x 的最大可能约数是 x/2。要获得所有除数,我们可以简单地检查从 2x/2 的每个数字(1 始终被视为除数,因此无需检查)。

现在我们可以写一些代码了:

int x;
std::cin >> x;
int sum = 1;
for (int y = 2; y <= x/2; ++y){
if ( check_if_y_is_divisor) { sum += y; }
}
bool is_balanced = sum == x;

我在代码中留下了一个小洞,你必须填补(我只是不想在作业时放弃完整的解决方案)。

关于c++ - 如何判断输入的数字是否平衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58801516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com