我无法将我的算法转换为c ++代码,该代码将显示所有大于输入数字的数字。我想创建一个程序,显示所有大于输入数字的数字。例如,如果我输入的数字为19,则控制台应打印出12和18.算法就是这样。
我正在使用Microsoft Visual Studios 2013 IDE和支持c ++ 11的编译器。
这是我到目前为止的代码
#include <iostream>
using namespace std;
int main()
{
int number;
cout << "Enter a number" << endl;
cin >> number;
for (int i = 1; i < number; i++)
{
// Don't know what to put here
}
char inputCharacter;
cin >> inputCharacter;
return 0;
}
答案 0 :(得分:0)
我不知道,数量是多少,但如果你的意思是:https://en.wikipedia.org/wiki/Abundant_number 那么这可以帮到你:
#include <iostream>
using namespace std;
int main()
{
int number;
cout << "Enter a number" << endl;
cin >> number;
for (int i = 1; i < number; i++)
{
int sum = 0;
for(int k = 1; k < i; k++)
{
if(i % k == 0)
{
sum += k;
}
}
if(sum > i)
{
cout << i << endl;
}
}
char inputCharacter;
cin >> inputCharacter;
return 0;
}
如果您需要有关算法的任何解释,请直接询问。
答案 1 :(得分:0)
int number;
cout << "Enter a number" << endl;
cin >> number;
for (int i ==1; i<number; i++)
{
int temp =0;
for (int j ==1; j<i; j++)
{
if (i%j==0)
{
temp+=j;
}
}
if (temp>i)
{
cout<<j;
}
}
这使用模块划分,并将累积所有数字作为因子。 如果上面的回报1丰富,我认为...如果我对正确的丰富度有了正确的认识。