UVA 516 Prime Land
UVA516
感觉自己的思维不够灵动变通。。。特别是写了最近的几道题目之后。。。感觉得做出加倍努力不然真的就学不进去了。。我太难了。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <sstream>using namespace std;int const N = 47000;
bool visit[N] = {true,true,false};//筛法获取素数表vector <int> prime,result;//存放质数,输出结果inline void setPrime(){//素数打表for( int i=2; i<N; ++i){if( !visit[i]){prime.push_back(i);for( int j=i+i; j<N; j+=i)visit[j] = true;}}
}int main(){setPrime();string line;while( getline(cin,line)){if( '0'==line[0] ) break;long long temp = 1;int base,power;istringstream ss( line);while( ss >> base >> power){while( power--)temp *= base;}temp -= 1; //依题意,任一行数字的最终大小结果for( int i=prime.size()-1; i>=0; --i){//忘记减一会导致出错if( !( temp % prime[i])){int Count = 1;//记录当前素数质因子的个数result.push_back( prime[i]);//自大到小存素数质因子(底数)temp /= prime[i];//相应变小while( !( temp % prime[i])){Count++;temp /= prime[i];}result.push_back( Count);//对应的指数}}for(unsigned int i=0; i<result.size(); ++i){if( i != result.size()-1 )//大一经常碰到过的输出格式printf("%d ",result[i]);elseprintf("%d\n",result[i]);}result.clear();//别忘记了初始化容器}return 0;
}
这里用到的素数线性筛法,应该是改进之后的晒法模板了。。。算是对之前说过的晒法的对比和补充吧。
之前的素数筛法打表
2017年03月12日 18:18:32 书
UVA 516 Prime Land相关推荐
- UVA, 516 Prime Land
题意:给一个数的指数形式,例:5 1 2 1 num=5^1*2^1 求num-1的质因数分解结果 思路:素数筛法,质因数分解 代码如下: 1 #include <iostream> ...
- UVA516 POJ1365 LA5533 ZOJ1261 Prime Land【欧拉筛法】
Everybody in the Prime Land is using a prime base number system. In this system, each positive integ ...
- UVA - 524 Prime Ring Problem
题目链接: UVA - 524 Prime Ring Problem Description(素数环) A ring is composed of n (even number) circles as ...
- POJ 1365 Prime Land
题意不好理解啊.. 以下摘自discuss 已知任意一个大于1的数可以表示成一些素数的乘积,即x=p1^e1*p2^e2-- pn^en (pi 为素数,ei 为对应素数的个数),现给你x的表示,要你 ...
- (数学)POJ - 1365 Prime Land
原题链接:http://poj.org/problem?id=1365 题意: 定义:任何一个大于1的自然数N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1a1P2a2P3a3.... ...
- uva 10140——Prime Distance
题意:题目出的很简单,给定一个数据范围(好吧,又是给定一个范围),然后问你在这个给定的范围内,哪两个相邻素数挨的最近,哪两个最远. 思路:这破题数据量很大,如果直接打表,铁定T,我蛋疼地打过两边了,T ...
- uva 524(Prime Ring Problem UVA - 524 )
dfs练习题,我素数打表的时候j=i了,一直没发现实际上是j=i*i,以后可记住了.还有最后一行不能有空格...昏迷了半天 我的代码(紫书上的算法) #include <bits/stdc++. ...
- UVA 12101 Prime Path (素数筛+BFS)
题意:给一个四位数的素数,求通过几步变换(一次只能换一个位置的数,且变换过程中只能出现素数)变为目标四位数 分析:素数筛法+BFS,BFS时更换一个数字如果符合条件就加入队列 代码: #include ...
- uva 10200 Prime Time
水题,不过有坑,在输出答案的时候加个1e-5就过了,不加就是wa #include <iostream> #include <cstring> #include <alg ...
最新文章
- 5.基于STM32F103+OV7670的网络摄像头
- mysql中tonumber函数_Oracle数据库之oracle的TO_NUMBER函数
- python 简易 http server
- 基于国家标准的 EndNote 输出样式模板
- 软件质量模型的6大特性27个子特性
- java语言就业方向_2019年汉语言专业最全就业方向
- NFS, web,负载均衡,Nginx yum 源码安装
- VB6写的书籍下载软件 --老牛下书,还不错
- trilateration三边测距算法及C语言实现(适用stm32)
- 一键清除系统垃圾 bat文件
- 2020年日历电子版(打印版)_2020全年共12个月的日历表打印版可图片年历-2020年日历A4打印版(每月一张-横版-完美版)下载Word带节假日农历电子版-西西软件下载...
- c 实现走迷宫流程图_迷宫求解(有流程图).doc
- 【OpenCV】 实战 银行卡卡号读取
- 【数据结构基础_有[*pHead]和[*pEnd]的单向链表_(C++实现)】
- 基于OBD系统的量产车评估测试(PVE),你知多少?
- ubuntu使用gdown下载谷歌云盘(google drive)文件
- html加载富文本_HTML基础
- 2017-03-27Oracle故障gc buffer busy acquire导致数据库不可用
- EXT4分区工具MiniTool Partition Wizard Home Edition
- SQL SERVER 数据库delete 未加where 条件数据误删恢复办法