1 条题解
-
0
C++ :
#include <iostream> using namespace std; int main() { long long n, a; int p = 0; // 标志变量,控制乘号输出 cin >> n; a = n; // 遍历可能的质因数,从2开始到i*i <=n for (long long i = 2; i * i <= n; i++) { if (a % i == 0) { // 发现质因数i int s = 0; while (a % i == 0) { // 除尽所有i的因子 a /= i; s++; } // 输出格式处理 if (p) cout << "* "; if (s != 1) cout << i << "^" << s << " "; else cout << i << " "; p = 1; // 标记已有因数输出 } } // 处理剩余质因数 if (a != 1) { if (a != n) cout << "* " << a; // 分解后的剩余质数 else cout << a; // n本身是质数 } return 0; }
- 1
信息
- ID
- 5657
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者