[水+整数分解] poj 1365 Prime Land
2015-04-28 20:24
316 查看
题意:
给2*n个数,输入的这些数构成 sum=(a[1]^b[1])*(a[2]^b[2])...
其实就是整数分解完的数。
然后让你输出分解sum-1的结果。
从大到小。
思路:
就是输入麻烦点。
注意题目说了1的时候要输出空行。
代码:
给2*n个数,输入的这些数构成 sum=(a[1]^b[1])*(a[2]^b[2])...
其实就是整数分解完的数。
然后让你输出分解sum-1的结果。
从大到小。
思路:
就是输入麻烦点。
注意题目说了1的时候要输出空行。
代码:
#include"cstdlib" #include"cstdio" #include"cstring" #include"cmath" #include"queue" #include"algorithm" #include"iostream" #include"map" #include"stack" #include"vector" #define ll __int64 #define inf -999999999999999999LL using namespace std; char v[123456]; #define MAXN 100007 bool mark[MAXN]; int ss[MAXN/3],sscnt; int ans1[MAXN/3],ans2[MAXN/3]; void ssb() { sscnt=0; memset(mark,false,sizeof(mark)); mark[0]=mark[1]=true; for(int i=2; i<=MAXN; i++) { if(!mark[i]) { for(int j=i+i; j<=MAXN; j+=i) mark[j]=true; ss[sscnt++]=i; } } return ; } int main() { ssb(); while(gets(v),strcmp(v,"0")) { int f=0,i=0; ll a=0,b=0; ll sum=1; while(v[i]) { if(v[i]>='0' && v[i]<='9') { while(v[i]>='0' && v[i]<='9') { if(!f) a=a*10+v[i]-'0'; else b=b*10+v[i]-'0'; i++; } if(f==1) { sum*=(ll)(pow(a*1.0,b*1.0)+0.0000001); a=0; b=0; } f^=1; } else i++; } sum--; int kx=0; for(int i=0; i<sscnt; i++) { if((ll)ss[i]>sum) break; if(sum%ss[i]==0) { int tep=0; while(sum%ss[i]==0) { tep++; sum/=ss[i]; } ans1[kx]=i; ans2[kx++]=tep; } } if(kx==0) { puts(""); continue; } for(int i=kx-1;i>=0;i--) { printf(i==0?"%d %d\n":"%d %d ",ss[ans1[i]],ans2[i]); } } return 0; }
相关文章推荐
- POJ 1365 Prime Land 整数分解
- poj 1365 Prime Land 唯一分解定理
- POJ 1365 小整数分解
- 整数的素数分解 POJ 1365
- POJ - 1365 Prime Land (整数分解+筛素数)
- POJ-1365 Prime Land 简单素数分解
- POJ 1365 -- Prime Land
- POJ 1221 整数分解 DP
- POJ 2429 GCD & LCM Inverse (整数分解,由gcd+lcm求a,b)
- POJ——2429(数论之大整数分解)
- poj 1365 Prime Land
- POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)
- POJ2429 GCD & LCM Inverse (大整数分解)
- poj 1365(素数分解。。。)
- (Relax 水题1.2)POJ 1032 Parliament(将n分解成若干个互不相等的整数的和,并且是这些整数的乘积最大)
- GCD & LCM Inverse POJ - 2429(Pollard rho整数分解+dfs)
- POJ 1811 Prime Test (Pollard rho 大整数分解)
- POJ 2191 Mersenne Composite Numbers 整数分解
- poj 1365 Prime Land
- POJ 1365 Prime Land