WA一个点,求助
查看原帖
WA一个点,求助
1109229
vistakuang楼主2024/8/6 11:37
#include<bits/stdc++.h>
using namespace std;
bool szs(long long n) {
	if (n < 2) return false;
	for (long long i = 2; i * i <= n; i++) {
		if (n % i == 0) {
			return false;
		}
	}
	return true;
}
int main() {
	long long n, t, sum;
	bool a = true;
	cin >> n;
	t = n;
	for (long long i = 2; i * i <= n; i++) {
		sum = 0;
		while (t % i == 0) {
			sum++;
			t /= i;
		}
		if (sum == 0) continue;
		if (a) {
			if (sum == 1) cout << i;
			else cout << i << '^' << sum;
			a = false;
		} else {
			cout << " * ";
			if (sum == 1) cout << i;
			else cout << i << '^' << sum;
		}
		if (szs(t)) {
			cout << " * " << t;
			break;
		}
		if (t == 1) break;
	}
	cout << "\n";
	return 0;
}
2024/8/6 11:37
加载中...