文章
40
粉丝
607
获赞
68
访问
419.1k
#include
using namespace std;
int main() {
int n, j, first;//first记录连续因子第一个数
int len = 0, templen = 0;//len记录最大长度,templen记录找到的临时长度
cin >> n;
for (int i = 2;i < n; i++) {//开始找因子
if (n % i == 0) {//找到第一个开始因子
j = i;
while (n % j == 0) {//开始自增,判断下一个数是否为因子
templen++;//若是因子则templen自增1;
j++;
}
if (templen > len) {//比较并更新长度,templen > len保证了相同长度会输出最小的那一串
len = templen;
first = i;
}
}
templen = 0;//每找完一串连续因子,templen都要归零
}
for (int k = 0;k < len;k++) {//循环输出连续因子
cout << first << " ";
first++;
}
return 0;
}
开始以为是找最大连乘积不超过输入的数字!不是最大连乘积!不是最大连乘积!不是最大连乘积!重要的事情说三遍!!!
告诫自己认真读题!!!!
登录后发布评论
暂无评论,来抢沙发