Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在指定的间隔上找到数字的除数?_C++_While Loop_Numbers - Fatal编程技术网

C++ 如何在指定的间隔上找到数字的除数?

C++ 如何在指定的间隔上找到数字的除数?,c++,while-loop,numbers,C++,While Loop,Numbers,我想用WHILE循环写一个简单的程序,用它你可以得到你输入的数字的所有除数 例如,您需要数字30的所有除数,即:1、2、3、5、6、10、15、30。 现在,您希望程序仅显示间隔(例如)为5-10的数字,即5、6和10 到目前为止,我尝试的是得到所有用于句子的除数,但没有间隔,所以我很累,不知道如何使它也在WHILE循环中 #include <iostream> using namespace std; int main() { int input_number; cin >

我想用WHILE循环写一个简单的程序,用它你可以得到你输入的数字的所有除数

例如,您需要数字30的所有除数,即:1、2、3、5、6、10、15、30。 现在,您希望程序仅显示间隔(例如)为5-10的数字,即5、6和10

到目前为止,我尝试的是得到所有用于句子的除数,但没有间隔,所以我很累,不知道如何使它也在WHILE循环中

#include <iostream>
using namespace std;

int main() {
int input_number;

cin >> input_number;
cout << "All numbers are " << input_number << endl;

for (int i = 1; i <= input_number; i++) {
    if (input_number % i == 0) {
        cout << i << " ";
    }
}
return 0;
}
#包括
使用名称空间std;
int main(){
输入整数;
cin>>输入_编号;

cout为什么要在
循环时作为执行此操作?for无疑是正确的循环选择。通过以下方式可以非常清楚地检查所有除数:

for (int i = 1; i <= input_number; i++) { ... }

但这更容易出错-如果在循环体中有一个
continue
i
不会增加。

中解决这个问题,而
循环可能不像在
for
循环中解决它那么简单(或暴力)

使用
同时使用
考虑循环的此格式副本:

int输入_编号;
std::cin>>输入_编号;
int i=1;//开始尝试将输入数字除以1
int limit=input_number;//循环的终止条件
while(istd::无法添加另一个if语句并检查
i
是否在筛选器的范围内。@NathanOliver是的,我也发现了这一点,但问题是我不知道如何将整个过程重新生成while循环。那么您尝试了什么?i while循环和for循环基本相同,您只需自己处理循环变量。@NathanOl我甚至不知道如何开始。我知道while循环看起来像什么,但不知道取什么作为条件和什么作为语句。for循环不必从1变为输入,用局部变量更改它们,for/while循环的条件将自动到来。我想让程序使用for和while循环,因为我是编程新手,希望看到代码中的差异,但我对从for到while lopp的翻译感到很生厌。
for (int i = lower_bound; i <= upper_bound; i++) { ... }
int i = lower_bound;
while (i <= upper_bound) {
    ...
    i++;
}