给定任何正整数N,你应该找到它的所有质因数,并将它们写成格式…
输入规格:
每个输入文件包含一个测试用例,它给出一个正整数N在long int。
有个情况当n == 1的情况特殊判断一下
#include "bits/stdc++.h" #define int long long using namespace std; const int N = 1e5 + 10; bool p[N]; vectorv; vector res; void prime() { for(int i = 2; i * i <= 1e10; i++) { if(!p[i]) { v.push_back(i); for(int j = i * i; j < N; j += i) { p[j] = true; } } } } vector ans; bool dfs(int x) { if(ans.size() == res.size()) { return x == 1; } int d = ans.size(); int val = 1; for(int i = 1; val <= x; i++) { val *= res[d]; if(x % val == 0) { ans.push_back(i); if(dfs(x / val)) return true; ans.pop_back(); } } return false; } signed main() { int n; cin>>n; if(n == 1) { printf("1=1"); // 特殊判断 return 0; } prime(); for(int i = 0; i < v.size() && v[i] <= n; i++) { if(n % v[i] == 0) { res.push_back(v[i]); } } if(res.size() == 0) { cout< if(i == 0) { if(ans[i] == 1) { cout< cout< if(ans[i] != 1) { cout<<'*'< cout<<'*'<



