1096. Consecutive Factors 解析

xiaoxiao2021-02-28  128

求连续的分解因子。

从2开始,然后整除,能整除,就不断的自增去看,最多能多长。

#include <iostream> #include <vector> #include <cmath> using namespace std; int n; vector <int> Ans; int main() { cin >> n; int maxFactor = sqrt(n); int MaxCount = 0; int MaxPos = n; for (int i = 2; i <= maxFactor; i++) { int t_n = n; int p = i; while (t_n % p == 0) { t_n /= p; p++; } if (p - i > MaxCount) { MaxCount = p - i; MaxPos = i; } } if (MaxCount == 0) { cout << 1 << endl; cout << n << endl; return 0; } cout << MaxCount << endl; cout << MaxPos++; for (int i = 0; i < MaxCount -1; i++) { cout << "*" << MaxPos++; } cout << endl; return 0; }

转载请注明原文地址: https://www.6miu.com/read-33515.html

最新回复(0)