我的代码当前读取两个参数,如果有人输入一个数字(例如 100),我需要添加一个检查以读取 1 个参数,如果输入 100,则读取第二个参数 3. 现在它每次都读取两个参数并给出一个如果输入一个参数,则会出错。
#include <iostream>
#include <cstring>
using namespace std;
int perfectnumber(int number)
{
int sumofdivisor = 0;
for (int i = 1; i < number; i++)
{
if (number % i == 0)
sumofdivisor += i;
}
return abs(sumofdivisor - number);
}
int main(int argc, char *argv[])
{
int count = atoi(argv[2]);
int upper_limit = atoi(argv[1]);
for (int start = 2; start <= upper_limit; start++)
{
int difference = perfectnumber(start);
if (difference <= count)
{
cout << start << " ";
}
}
cout << endl;
}