pat1059 Prime Factors
程序员文章站
2022-07-15 14:01:35
...
题意:分解质因数
思路:筛法打表,暴力分解
代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int MAX_N = 1000000;
int isNotPrim[MAX_N];
int prime[MAX_N], len;
void init() {
memset(isNotPrim, 0, sizeof(isNotPrim));
len = 0;
for (int i = 2; i < MAX_N; i++) {
if (!isNotPrim[i]) {
prime[len++] = i;
for (int j = i + i; j < MAX_N; j += i) {
isNotPrim[j] = 1;
}
}
}
}
int a;
int cnt[MAX_N];
int p[MAX_N], lenp;
int main() {
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
init();
memset(cnt, 0, sizeof(cnt));
lenp = 0;
scanf("%d", &a); int t = a;
for (int i = 0; i < len; i++) {
if (t % prime[i] == 0) {
p[lenp++] = prime[i];
while (t % prime[i] == 0) {
cnt[prime[i]]++;
t /= prime[i];
}
}
if (t == 1) break;
}
bool flag = false;
printf("%d=", a);
if (a == 1) printf("1");
else {
for (int i = 0; i < lenp; i++) {
if (flag) printf("*");
else flag = true;
printf("%d", p[i]);
if (cnt[p[i]] > 1) printf("^%d", cnt[p[i]]);
}
}
printf("\n");
return 0;
}
下一篇: 我对创业投资的一些体会看法
推荐阅读
-
WATCH GT全球热销,霸榜意大利、法国亚马逊Prime Day销量第一
-
kuangbin专题 专题一 简单搜索 Prime Path POJ - 3126
-
存储类、链接和内存管理(c prime plus)
-
最小生成树两个经典算法(Prime算法、Kruskal算法) - biaobiao88
-
华为在印度推出华为Y9 Prime(2019):搭载升降式摄像头
-
H Diff-prime Pairs
-
进军美国市场 中兴Blade A7 Prime/Blade 10 Prime发布
-
华硕主板诞生30周年:特别发布纪念版PRIME X299
-
主板中的小鲜肉!华硕30周年PRIME X299图赏
-
华硕推出B450芯片组主板:ROG/Prime/TUF三个系列