Prime Land
来源:互联网 发布:python 量化交易策略 编辑:程序博客网 时间:2024/05/17 02:19
题目链接: 点击打开链接
题目看不懂,其实就是个水题。。。。。。
以后还是要自己看题了,少用翻译;(反正翻译用处也不大)
题意:我们直接看样例吧: 1: x=17^1 2: x=5^1*2^1 3: x= 509^1*59^1
然后我们要求的是: x-1 用唯一分解定理得出的结果
#include<cstdio>#include<iostream>#include<cmath>#include<vector>#include<cstring>using namespace std;const int maxn= 32767 ;bool vis[maxn+5];void init(){ for(int i=2;i*i<=maxn;i++) if( !vis[i] )// { for(int j=i*i;j<=maxn;j+=i) { vis[j]=1; } }}void div(long long x){ bool has=0; for(int i=maxn;i>=2&& x!=1;i--) if(!vis[i]) { int cnt=0; while( x%i==0 ) { cnt++; x/=i; } if(cnt) { if(has) putchar(' '); has=1; printf("%d %d",i,cnt); } } putchar('\n');}char s[1000000];int n;int getnum(int k){int sum=0;while(k<n&&s[k]>='0'&&s[k]<='9'){sum=sum*10+s[k]-'0',s[k]=' ',k++;}return sum;}long long POW(int x,int n){long long k=1;while(n>=1){if(n%2)k*=x;x*=x;n/=2;}return k;}vector<int>m;int main(){init();while(gets(s)!=NULL){m.clear();if(s[0]=='0')break;n=strlen(s);//puts(s);vector<int>a;for(int i=0;i<n;i++){if(s[i]>='0'&&s[i]<='9')a.push_back(getnum(i));}long long sum=1;for(int i=1;i<a.size();i+=2){sum*=POW(a[i-1],a[i]);}sum--;div(sum);}return 0;}
唯一分解定理 的模板:
const int maxn= 32767;bool vis[maxn+5];void init(){ for(int i=2;i*i<=maxn;i++) if( !vis[i] ) { for(int j=i*i;j<=maxn;j+=i) { vis[j]=1; } }}void div(long long x){ bool has=0; for(int i=maxn;i>=2&& x!=1;i--) if(!vis[i]) { int cnt=0; while( x%i==0 ) { cnt++; x/=i; } /*if(cnt) { if(has) putchar(' '); has=1; printf("%d %d",i,cnt); } } putchar('\n');*/}
阅读全文
0 0
- Prime Land
- Prime Land
- Prime Land
- Prime Land
- Prime Land
- POJ 1365 Prime Land
- PKU 1365 Prime Land
- UVa 516-Prime Land
- POJ-1365-Prime Land
- poj1365 Prime Land
- poj 1365 Prime Land
- POJ 1365 Prime Land
- POJ 1365 Prime Land
- POJ 1365 Prime Land
- POJ 1365 -- Prime Land
- POJ 1365 Prime Land
- POJ1365 Prime Land 初等数论
- POJ1365——Prime Land
- 机器学习&深度学习&大数据&数据库 学习资料
- 欢迎使用CSDN-markdown编辑器
- FP-growth算法,高效发现频繁项集,找出最短时序路径
- NOIP2014-普及组复赛-第1题-珠心算测验
- ThreadLocal用法详解和原理
- Prime Land
- NOIP2015-普及组复赛-第2题-扫雷游戏
- 心跳包:告诉别人,我还活着
- Angular4环境安装
- HDU 4565 So Easy! (矩阵快速幂 + 向上取整)
- JavaScript数组的定义属性及使用
- glibc源码分析之系统调用(二)
- ReactNative开发(二)之基础与入门
- 437. Path Sum III