//懒得解释
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
using namespace std;
#define Max 110000
#define Size 100000
#define Type int
bool isPrime[Max];
Type primeTable[Max];
Type expCount[Max]; void primeRadiation(const Type& size){
memset(isPrime,true,sizeof(isPrime));
isPrime[1]=false;
for(Type i=4;i<=size;i+=2) isPrime[i]=false;
for(Type i=3;i<=sqrt(size);++i){
if(isPrime[i]==true){
const Type step=2*i;
for(Type j=i*i;j<=size;j+=step) isPrime[j]=false;
}
}
} int setPrimeTable(const Type& size){
memset(primeTable,0,sizeof(primeTable));
int index=0;
for(int i=1;i<=size;++i){
if(isPrime[i]==true){
index++;
primeTable[index]=i;
}
}
return index;
} void countExp(Type num){
memset(expCount,0,sizeof(expCount));
Type index=1;
while(num!=1){
if(num%primeTable[index]==0){
num/=primeTable[index];
expCount[index]++;
}
else{
index++;
}
}
} int main(){
char c;
Type base;
Type exp;
primeRadiation(Size);
Type t=setPrimeTable(Size);
while(1){
Type ans=1;
cin>>base;
if(base==0) break;
cin>>exp;
ans*=pow(base,exp);
while(1){
c=getchar();
if(c=='\n') break;
cin>>base;
cin>>exp;
ans*=pow(base,exp);
}
Type temp=ans-1;
countExp(temp);
for(Type i=temp;i>=1;--i){
if(expCount[i]!=0) cout<<primeTable[i]<<" "<<expCount[i]<<" ";
}
cout<<endl;
}
return 0;
}
POJ_1365_Prime_Land的更多相关文章
随机推荐
-
C++中的注解理解
SAL: the Microsoft Source Code Annotation Language. SAL: the Microsoft Source Code Annotation Langua ...
-
Java程序员的日常 —— 响应式导航Demo
这两天想要做响应式的页面,于是本着重复造*的想法,模仿Bootstrap官网,精简了一个响应式导航的Demo. 效果 代码 <!DOCTYPE html> <html> &l ...
-
SQL Server 之登录
1:SQL Server 是Microsoft 公司推出的关系型数据库管理系统. 安装好后,开始登录. 2:几种登录方式: (1):服务器名称: ①: . :代表本地服务器 ②: local :代表本 ...
-
HDU 5464 ( Clarke and problem ) (dp)
dp[i][j] := 前i个数和为j的情况(mod p) dp[i][j] 分两种情况 1.不选取第i个数 -> dp[i][j] = dp[i-1][j] 2. 选取第i个数 -> ...
-
如何在Win10中启用和关闭管理员账户?
和Win7/Win8.1一样,Win10的管理员账户Administrator是默认隐藏和关闭的,因为该账户权限极高,被不法分子利用后存在极大风险.但如果你想在某些特殊情况下使用该账户,就需要手动将其 ...
-
【webstorm使用手册】如何安装插件
Files->Settings, 搜索"plugin",如图,
-
[Hive_9] Hive 的排序
0. 说明 全排序(order by) | 部分排序(sort by) | hash 分区(distribute by) | cluster by 1. 前期准备 1.1 建表 create tab ...
-
vim 多行添加注释,取消注释
转发 已经验证 https://blog.csdn.net/SuiXin_123/article/details/81393397
-
[Luogu4986] 逃离
Description 给定次数为 \(n\) 的函数 \(A(x),B(x),C(x)\),求 \(A^2(x)+B^2(x)-C^2(x)\) 在 \([L,R]\) 的零点.\(n\leq 10 ...
-
[转]Peer-to-Peer Communication Across Network Address Translators
Peer-to-Peer Communication Across Network Address Translators Bryan Ford Massachusetts Institute of ...