ACM Steps 2.1.4
Largest prime factor Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6130 Accepted Submission(s): 1886
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 Input
1 2 3 4 5
Sample Output
0 1 2 1 3
Author
Wiskey
Source
HDU 2007-11 Programming Contest_WarmUp
Recommend
威士忌
题意: 题意比较难读,每一个质数都有他的顺序号,例如1为第0个,2为1,3为2,5为3,.........给你一个数让你算出这个数 最大质因数的顺序号。
思路: 发现了一个问题,一个很大的数组被定义在main函数中时编译器运行不了,但被定义在main函数之外时就能运行。本题 打表。从2开始枚举每一个数,若为质数那么只要是小于等于此质数的数与他相乘得到的数的最大质因数就是此质数, 如果不是质数,那么只要小于等于此数的数和他相乘得到的数的最大质因数就是两个数的最大质因数中大的那个。
代码:
#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<iomanip>
using namespace std;
int max(int x,int y)
{
    return x>y?x:y;
}
int a[1000000];
int main()
{
    int n;
    memset(a,-1,sizeof(a));
    a[1]=0;
    int k=1;
    for(int i=2;i<=1000000;i++)
    {
        if(a[i]==-1)
        {   a[i]=k++;
            for(int j=2;j<=i&&i*j<=1000000;j++)
            {
                a[i*j]=a[i];
            }
        }
        else
        {
            for(int j=2;j<=i&&i*j<=1000000;j++)
            {
                if(a[i*j]==-1)
                a[i*j]=max(a[i],a[j]);
            }
        }
    }
    while(scanf("%d",&n)!=EOF)
    {
        printf("%d\n",a[n]);
    }
    return 0;
}
ACM Steps 2.1.4的更多相关文章
- HDOJ  acm steps  3.1.1
		
(都是递推求值,呵呵,好开心- - ) 今天又是在自习室通宵(文明玩的停不下来了) 游戏玩完想想该水题了,于是打开了HDOJ的ACM STEPS(这是个好东西,就像他的名字,一步步来的) 2.3.x貌 ...
 - hdu acm steps Big Event in HDU
		
上网搜了一下这道题的解法,主要有两个方法,一种是采用母函数的方法,一种是采用0/1背包的方法. 先说一下母函数,即生成函数,做个比喻,母函数就是一个多项式前面的系数的一个整体的集合,而子函数就是这个多 ...
 - ACM STEPS——Chapter Two——Section One
		
数学题小关,做得很悲剧,有几道题要查数学书... 记下几道有价值的题吧 The area(hdoj 1071) http://acm.hdu.edu.cn/showproblem.php?pid=10 ...
 - hdu ACM Steps Section 1 花式A+B 输入输出格式
		
acm与oi很大的一个不同就是在输入格式上.oi往往是单组数据,而acm往往是多组数据,而且题目对数据格式往往各有要求,这8道a+b(吐槽..)涉及到了大量的常用的输入输出格式.https://wen ...
 - ACM Steps 2.1.8
		
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
 - ACM Steps 2.1.7
		
Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
 - 2015寒假ACM训练计划
		
1月26号至3月4号 每天给自己一个计划.做有意义的事情,不要浪费时间. 8:00——11:30 acm训练 11:30——13:00 午休 13:00——17:30 acm训练 17:30——18 ...
 - hdu 1087 动态规划之最长上升子序列
		
http://acm.hdu.edu.cn/showproblem.php?pid=1087 Online Judge Online Exercise Online Teaching Online C ...
 - hdu 2955 01背包
		
http://acm.hdu.edu.cn/showproblem.php?pid=2955 如果认为:1-P是背包的容量,n是物品的个数,sum是所有物品的总价值,条件就是装入背包的物品的体积和不能 ...
 
随机推荐
- BZOJ 1861: [Zjoi2006]Book 书架 splay
			
1861: [Zjoi2006]Book 书架 Description 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书 ...
 - 程序员必懂:javaweb三大框架知识点总结
			
原文链接:http://www.cnblogs.com/SXTkaifa/p/5968631.html javaweb三大框架知识点总结 一.Struts2的总结 1.Struts 2的工作流程,从请 ...
 - 62个Android Studio小技巧合集
			
1书签(Bookmarks) 描述:这是一个很有用的功能,让你可以在某处做个标记(书签),方便后面再跳转到此处. 调用:Menu → Navigate → Bookmarks 快捷键: 添加/移除书签 ...
 - win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件
			
win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把 ...
 - .NET运用AJAX 总结及其实例
			
1.AJAX简介 (1.没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的 ...
 - 前端学PHP之文件操作(认真读读)
			
前面的话 在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放.如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就需要把数据存储在文件或数据库.一般地 ...
 - Xamarin Android教程如何使用Xamarin开发Android应用
			
Xamarin Android教程如何使用Xamarin开发Android应用 在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和系统来开发我们的应用程序. And ...
 - SQL 最基本使用
			
--创建表 CREATE TABLE TreeData (id INT IDENTITY(1,1) PRIMARY KEY , pid INT ) --为表添加列 ALTER TABLE treeda ...
 - Trie UVA 11732 "strcmp()" Anyone?
			
题目传送门 题意:询问所有字符串的比较次数和(注意for循环内的比较也算) 分析:将所有字符串插入到字典树上,然后结点信息记录有几个字符串,那么每走到一个结点就能知道比较到此时需要的次数.学习到链表存 ...
 - Python学习笔记03
			
区间访问:[from:to:step] step默认是1:from表示起始索引(包括),to表示结束索引(不包括) step如果有符号,表示方向从右到左; from,to有符号,表示从倒数开始算, ...