文章

40

粉丝

607

获赞

68

访问

419.1k

头像
1020最长连续因子
P1020 贵州大学机试题
发布于2020年2月21日 23:58
阅读数 11.4k

#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;
}

开始以为是找最大连乘积不超过输入的数字!不是最大连乘积!不是最大连乘积!不是最大连乘积!重要的事情说三遍!!!

indecision告诫自己认真读题!!!!

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发