(hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
来源:互联网 发布:php 扩展 路由 编辑:程序博客网 时间:2024/05/02 04:16
题目:
Largest prime factor
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4868 Accepted Submission(s): 1452Problem 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.
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 Input
12345
Sample Output
01213
Author
Wiskey
Source
HDU 2007-11 Programming Contest_WarmUp
Recommend
威士忌
题目分析:
求一个数的最大质因子的位置。例如2的最大质因子是2,它是第一个素数,所以它的最大质因子的位置就是1.同理可得3的最大质因子的位置是2.这道题采用预先打表的方式来做。
1)从小到大遍历数据范围内的所有数。把包含质因子的数的位置都设成跟质因子的位置相同。
2)同一个数的位置可能被多次复写。但是由于是从小到大遍历,这就保证了最后一次写入的是该数的最大质因子的位置
代码如下:
/* * c1.cpp * * Created on: 2015年1月30日 * Author: Administrator */#include <iostream>#include <cstdio>using namespace std;const int maxn = 1000005;int biao[maxn];/** * 求一个数的最大质因子的位置。如2的位置是1。 * 3的位置是2 */void prepare(){int i;int k = 1;for(i = 2 ; i < maxn ; ++i){//遍历数据范围内的所有数if(biao[i] == 0){//如果这一个数的最大质因子的位置还没有确定int j;for(j = 1 ; i*j < maxn ; ++j){//把含有这个质因子的所有数的位置都标记成这个质因子的位置biao[i*j] = k;}k++;//质因子的位置索引+1}}}int main(){int n;prepare();while(scanf("%d",&n)!=EOF){printf("%d\n",biao[n]);//biao[n]表示n的最大质因子的位置}return 0;}
1 0
- (hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
- (质因子打表记录素数的位置)HDU Largest prime factor
- hdu 2136Largest prime factor n的最大因子是第几个素数
- 欧拉计划---0003 Largest prime factor(找出一个合数的最大质数因子)
- (Hdu Acm Step 2.1.3)Largest prime factor
- HDU Largest prime factor && nyoj 520 最大素因子【素数】
- HDU 2136 Largest prime factor(最大素因子)
- Largest prime factor 最大素因子
- Largest prime factor(最大素数因子)
- HDU 2136 Largest prime factor 3种求素数表的方法
- hdu 5428 The Factor 求一个数列的乘积的最小因子的因子数大于2 筛素数
- hdu oj 2136 Largest prime factor 和 nyoj 520 最大素因子 【筛选法】
- HDU 2136 Largest prime factor (最大素因子序号,cin超时呀!!!)
- hdu Largest prime factor
- hdu Largest prime factor
- Largest prime factor HDU
- 2.1.3 Largest prime factor
- hdu 2136 Largest prime factor----类似筛素数的方法
- python模块导入及属性:import
- <Android>使用缓冲区实时写入文件二
- Objective-C 学习笔记 06 - 通过NSString和NSData将数据写入文件
- 【Peking University Online Judge】3069(Saruman's Army)
- 啊哈C——学习4.8练习
- (hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
- POJ 2689 Prime Distance(筛选两次素数)
- 【Peking University Online Judge】3253(Fence Repair)
- Android Lollipop Phone模块学习计划
- 【Peking University Online Judge】3617(Best Cow Line)
- 系统时钟的配置
- js 实现ReplaceAll 的方法
- 【J2SE快速进阶】——Java中的equals和==的区别
- 《盗钥匙的方法》—— 好不容易有点学习的干劲了,可是书一买回来就满足了,你小子就是那种最渣的人