POJ1365——Prime Land(素数筛选加暴力)
来源:互联网 发布:有意境的网名知乎 编辑:程序博客网 时间:2024/06/08 07:10
题目链接
这是一道素数的水题,唯一的难点就是理解题意,大致是说给你一列数,a1,a2,a3,a4,a5,a6,.......然后按(a1^a2)*(a3^a4)*(a5^a6).......得到一个和值sum,然后把sum-1,再按(a1^a2)*(a3^a4)*(a5^a6).......的格式对sum-1分解质因式,比如样例中的5 1 2 1,就得到sum=5^1+2^1=10,然后sum-1得9,然后对9分解质因式得到3*3,也就是3^2,这也就是输出的结果为什么是3 2了。还有一点就是输出按质因数从大到小的顺序输出。我的做法是先输入数据并得到和值sum,再对从2到sum-1的范围内筛出质数,再依次从大到小去除sum-1,并不断更新sum,最后直到除到无法再除为止,由于是按从大到小来除的,最后输出也无需排序,直接把保存结果的数组依次输出即可。(ps:这段代码用C++交,G++交会超时)。
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int vis[100000];int flag[100000];int main(){ long long sum; int a, b; while(true) { sum=1; while(true) { scanf("%d",&a); char c=getchar(); if(c=='\n')break; scanf("%d",&b); c=getchar(); for(int i=1;i<=b;i++)sum*=a; if(c=='\n')break; } if(a==0)break; sum--; //cout<<sum<<endl; long long m=sqrt(sum+0.5); memset(vis,0,sizeof(vis)); for(long long i=2;i<=m;i++)if(!vis[i]) for(long long j=i*i;j<=sum;j+=i)vis[j]=1; /*for(int i=1;i<=sum;i++) if(!vis[i])cout<<i<<endl;*/ long long j1=0,j2=1; bool sign=false; memset(flag,0,sizeof(flag)); for(long long i=sum;i>=2;i--) { sign=false; while(!vis[i]) { if(sum%i==0)flag[j1]=i; else break; sum/=i; flag[j2]++; sign=true; } if(sign) { j1+=2; j2+=2; } } for(long long i=0;i<j2-2;i++) printf("%d ",flag[i]); printf("%d\n",flag[j2-2]); /*cout<<flag[i]<<' '; cout<<flag[j2-2]<<endl;*/ } return 0;}
0 0
- POJ1365——Prime Land(素数筛选加暴力)
- POJ1365——Prime Land
- POJ1365 Prime Land【质因数分解】【素数】【水题】
- poj1365 Prime Land
- POJ1365 Prime Land 初等数论
- TOJ 1038 Prime Land-- 素数
- POJ 1365 Prime Land 素数
- POJ 1365 Prime Land 【素数分解】
- 素数筛选——爱拉托逊斯筛选法
- 浅谈—线性筛选素数
- POJ 1365 Prime Land——质数分解
- Prime Land
- Prime Land
- Prime Land
- Prime Land
- Prime Land
- poj2689 Prime Distance 素数筛选应用 复习
- Prime Distance(大素数筛选)
- 基于unity的飞行模拟设计
- 给自己的一个研究课题:spring事务、@Transactional标签使用和属性配置@Transactional(propagation=Propagation.REQUIRED,rollbackF
- mysql数据库
- 思路很重要!搞定完美配色方案应当思考的八个问题
- JDK官方网站下载、安装教程及环境配置
- POJ1365——Prime Land(素数筛选加暴力)
- 单链表的翻转
- C loop
- 移动物体监控系统
- Jersey REST Service Error
- 什么是APT
- js获取浏览器滚动条距离顶端的距离
- 一北大毕业生的返乡报告:家乡面目全非 备感无力
- 欢迎使用CSDN-markdown编辑器