hdoj 2136 Largest prime factor
2016-07-20 00:17
295 查看
Largest prime factor |
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 6066 Accepted Submission(s): 1860 |
Problem Description Everybody knows any number can be combined by the prime number. Now, your task is telling me what position of the largest prime factor. The position of prime 2 is 1, prime 3 is 2, and prime 5 is 3, etc. Specially, LPF(1) = 0. |
Input Each line will contain one integer n(0 < n < 1000000). |
Output Output the LPF(n). |
Sample Input1 2 3 4 5 |
Sample Output0 1 2 1 3 |
Author Wiskey |
Source HDU 2007-11 Programming Contest_WarmUp |
Recommend 威士忌 |
代码:
<pre style="font-family: 'Courier New'; background-color: rgb(244, 251, 255);"><span style="color:blue;">#include<cstdio> #include<cstring> </span><strong><span style="color:blue;">int</span></strong> su<strong><span style="color:#FF00FF;">[</span></strong><span style="color:#CC3300;">1000000</span><strong><span style="color:#FF00FF;">];</span><span style="color:blue;"> int</span></strong> shu<strong><span style="color:#FF00FF;">[</span></strong><span style="color:#CC3300;">2000100</span><strong><span style="color:#FF00FF;">];</span><span style="color:blue;"> int</span></strong> zhao<strong><span style="color:#FF00FF;">(</span><span style="color:blue;">int</span></strong> xx<strong><span style="color:#FF00FF;">) {</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>xx<strong><span style="color:#FF00FF;"><=</span></strong><span style="color:#CC3300;">2</span><strong><span style="color:#FF00FF;">)</span><span style="color:#0000FF;"> return</span></strong><span style="color:#CC3300;"> 1</span><strong><span style="color:#FF00FF;">;</span><span style="color:blue;"> int</span></strong> R<strong><span style="color:#FF00FF;">=</span></strong><span style="color:#CC3300;">148932</span><strong><span style="color:#FF00FF;">,</span></strong>L<strong><span style="color:#FF00FF;">=</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">,</span></strong>M<strong><span style="color:#FF00FF;">,</span></strong>lp<strong><span style="color:#FF00FF;">;</span><span style="color:#0000FF;"> while</span><span style="color:#FF00FF;"> (</span></strong>L<strong><span style="color:#FF00FF;"><=</span></strong>R<strong><span style="color:#FF00FF;">) {</span></strong> M<strong><span style="color:#FF00FF;">=(</span></strong>L<strong><span style="color:#FF00FF;">+</span></strong>R<strong><span style="color:#FF00FF;">)/</span></strong><span style="color:#CC3300;">2</span><strong><span style="color:#FF00FF;">;</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>su<strong><span style="color:#FF00FF;">[</span></strong>M<strong><span style="color:#FF00FF;">]==</span></strong>xx<strong><span style="color:#FF00FF;">)</span><span style="color:#0000FF;"> return</span></strong> M<strong><span style="color:#FF00FF;">+</span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">;</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>su<strong><span style="color:#FF00FF;">[</span></strong>M<strong><span style="color:#FF00FF;">]<</span></strong>xx<strong><span style="color:#FF00FF;">) {</span></strong> L<strong><span style="color:#FF00FF;">=</span></strong>M<strong><span style="color:#FF00FF;">+</span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">; }</span><span style="color:#0000FF;"> else</span></strong> R<strong><span style="color:#FF00FF;">=</span></strong>M<strong><span style="color:#FF00FF;">-</span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">; } }</span><span style="color:blue;"> int</span><span style="color:#0000FF;"> main</span><span style="color:#FF00FF;">() {</span><span style="color:blue;"> int</span></strong> a<strong><span style="color:#FF00FF;">,</span></strong>b<strong><span style="color:#FF00FF;">;</span><span style="color:blue;"> int</span></strong> kp<strong><span style="color:#FF00FF;">=</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">;</span><span style="color:blue;">long long</span></strong> ii<strong><span style="color:#FF00FF;">,</span></strong>jj<strong><span style="color:#FF00FF;">;</span></strong> memset<strong><span style="color:#FF00FF;">(</span></strong>shu<strong><span style="color:#FF00FF;">,</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">,</span><span style="color:#0000FF;">sizeof</span><span style="color:#FF00FF;">(</span></strong>shu<strong><span style="color:#FF00FF;">));</span><span style="color:#0000FF;"> for</span><span style="color:#FF00FF;"> (</span></strong>ii<strong><span style="color:#FF00FF;">=</span></strong><span style="color:#CC3300;">2</span><strong><span style="color:#FF00FF;">;</span></strong>ii<strong><span style="color:#FF00FF;"><</span></strong><span style="color:#CC3300;">2000001</span><strong><span style="color:#FF00FF;">;</span></strong>ii<strong><span style="color:#FF00FF;">++) {</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>shu<strong><span style="color:#FF00FF;">[</span></strong>ii<strong><span style="color:#FF00FF;">]==</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">) {</span></strong> su<strong><span style="color:#FF00FF;">[</span></strong>kp<strong><span style="color:#FF00FF;">++]=</span></strong>ii<strong><span style="color:#FF00FF;">;</span><span style="color:#0000FF;"> for</span><span style="color:#FF00FF;"> (</span></strong>jj<strong><span style="color:#FF00FF;">=</span></strong>ii<strong><span style="color:#FF00FF;">*</span></strong>ii<strong><span style="color:#FF00FF;">;</span></strong>jj<strong><span style="color:#FF00FF;"><</span></strong><span style="color:#CC3300;">2000001</span><strong><span style="color:#FF00FF;">;</span></strong>jj<strong><span style="color:#FF00FF;">+=</span></strong>ii<strong><span style="color:#FF00FF;">)</span></strong> shu<strong><span style="color:#FF00FF;">[</span></strong>jj<strong><span style="color:#FF00FF;">]=</span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">; } }</span><span style="color:#0000FF;"> while</span><span style="color:#FF00FF;"> (~</span></strong>scanf<strong><span style="color:#FF00FF;">(</span></strong><span style="color:green;">"%d"</span><strong><span style="color:#FF00FF;">,&</span></strong>a<strong><span style="color:#FF00FF;">)) {</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>a<strong><span style="color:#FF00FF;">==</span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">) {</span></strong> printf<strong><span style="color:#FF00FF;">(</span></strong><span style="color:green;">"0\n"</span><strong><span style="color:#FF00FF;">);</span><span style="color:#0000FF;"> continue</span><span style="color:#FF00FF;">; }</span><span style="color:#0000FF;"> for</span><span style="color:#FF00FF;"> (</span></strong>b<strong><span style="color:#FF00FF;">=</span></strong><span style="color:#CC3300;">2</span><strong><span style="color:#FF00FF;">;</span></strong>b<strong><span style="color:#FF00FF;">*</span></strong>b<strong><span style="color:#FF00FF;"><=</span></strong>a<strong><span style="color:#FF00FF;">;</span></strong>b<strong><span style="color:#FF00FF;">++) {</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>shu<strong><span style="color:#FF00FF;">[</span></strong>b<strong><span style="color:#FF00FF;">]==</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">)</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>a<strong><span style="color:#FF00FF;">%</span></strong>b<strong><span style="color:#FF00FF;">==</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">) {</span><span style="color:#0000FF;"> while</span><span style="color:#FF00FF;"> (</span></strong>a<strong><span style="color:#FF00FF;">%</span></strong>b<strong><span style="color:#FF00FF;">==</span></strong><span style="color:#CC3300;">0</span><strong><span style="color:#FF00FF;">)</span></strong> a<strong><span style="color:#FF00FF;">/=</span></strong>b<strong><span style="color:#FF00FF;">; } }</span><span style="color:#0000FF;"> if</span><span style="color:#FF00FF;"> (</span></strong>a<strong><span style="color:#FF00FF;">></span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">)</span></strong> printf<strong><span style="color:#FF00FF;">(</span></strong><span style="color:green;">"%d\n"</span><strong><span style="color:#FF00FF;">,</span></strong>zhao<strong><span style="color:#FF00FF;">(</span></strong>a<strong><span style="color:#FF00FF;">));</span><span style="color:#0000FF;"> else</span></strong> printf<strong><span style="color:#FF00FF;">(</span></strong><span style="color:green;">"%d\n"</span><strong><span style="color:#FF00FF;">,</span></strong>zhao<strong><span style="color:#FF00FF;">(</span></strong>b<strong><span style="color:#FF00FF;">-</span></strong><span style="color:#CC3300;">1</span><strong><span style="color:#FF00FF;">)); }</span><span style="color:#0000FF;"> return</span></strong><span style="color:#CC3300;"> 0</span><strong><span style="color:#FF00FF;">; }</span></strong>
相关文章推荐
- Unity 获取网络北京时间
- MATLAB sum()函数总结
- 使用USRP实现ADS-B的飞机信号获取
- SID是与系统运维
- linux下安装phpredis
- spark之数据源之自动分区推断
- Codeforces Round #363 (Div. 2)363B One Bomb(枚举)
- G1 算法论文
- 添加鼠标事件侦听
- MyBatis Generator产生的Example类
- B - Bear and Three Balls(sort)
- H5游戏开发的架构总结(二) 服务器端
- 云服务器 ECS Linux 系统中常见的日志文件介绍
- 剑指offer之面试题25:复杂链表的复制
- 371. Sum of Two Integers
- Java学习中位运算符底层运算过程
- html dl dt dd标签元素语法结构与使用
- 现代操作系统--什么是操作系统?(读书笔记)
- 浅析Android中的消息机制
- RxJava入门第八、九问(二)