nyoj-最大素因子

原创 2013年12月01日 23:13:34

最大素因子

时间限制:1000 ms  |  内存限制:65535 KB
描述

GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整数n,要求我们求出n的最大素因子的序数,例如:2的序数是1,3的序数是2,5的序数是3,以此类推. 研究数论是需要很大的耐心的,为了惩罚那些没有耐心读完题目的童鞋,我们规定:1的最大素因子序数是0.

输入
有多组测试数据,每一行输入一个数字n.(0<n<=1000000)
输出
在接下来的一行,输出结果.
样例输入
1
2
3
4
5
样例输出
0
1
2
1
3

一开始想建个100w的素数表,结果提交提示error,搜了下别人的程序,差距啊。


// 原理:因为任何数都可以分解为由全部素因子乘积的形式
#include <iostream>
using namespace std;
int a[1000001];
int main()
{
	int i,j,N,x=0,n;
	for(i=2;i<1000001;i++){
        if(a[i]==0){ // 说明 i 是素数
            x++;     //记录 素数 i  出现的序数
            for(j=i;j<1000001;j=j+i)
                //素数的整倍数的最大素因子可能是该素数
                a[j]=x;
                //更新素数对应的呈现的次序
		}
	}
	while(cin>>n)
        cout<<a[n]<<endl;
	return 0;
}



NYOJ 520 最大素因子

最大素因子 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整...
  • zwj1452267376
  • zwj1452267376
  • 2015年03月16日 21:49
  • 656

最大素因子

刚开始是用晒素数 然后 在进行枚举 + 判断,结果T了3发。。开始思考。最后突然明白。把晒素数的方法改下就可以了。 #include #include #include using names...
  • u013539760
  • u013539760
  • 2014年02月26日 16:30
  • 512

hdu 5108 求最大素因子

#include #include #include #include #include #include #include #include #include #include #include #...
  • liyunlong41
  • liyunlong41
  • 2015年08月13日 11:25
  • 282

nyoj520最大素因子(数学)

最大素因子 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整...
  • sungaochao
  • sungaochao
  • 2015年02月23日 16:35
  • 481

NYOJ-520 最大素因子【数论】

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=520 解题思路: 简单的模拟题,有2种思路: 第一种暴力: 直接找到n的最大的素因...
  • niushuai666
  • niushuai666
  • 2012年04月09日 09:58
  • 2125

NYOJ 520 最大素因子

最大素因子 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整数n,要求我们求出...
  • helloiamclh
  • helloiamclh
  • 2015年11月27日 20:15
  • 414

c++ 正整数拆分成素因子的乘积

#include //设计算法,将某个大于1的数分成素因子的乘积 6=2*3 7=7 8=2*2*2 //1.判断当前数是不是素数,是直接返回 //2.否则,循环直到第一个它能整除的素数,当前数变为...
  • wateryouyo
  • wateryouyo
  • 2017年04月19日 21:35
  • 1225

求一个数的所有素因子

1不是素数也不是合数!#include #include using namespace std; typedef long long LL; const int N=105; int main() ...
  • feng_zhiyu
  • feng_zhiyu
  • 2017年07月26日 12:54
  • 258

数论读书笔记——因子分解法和费马数

因子分解法和费马数 费马因子分解 我们现在给出一个有趣但不总是有效的因子分解法,这个方法是费马发现的,被称为费马因子分解法。 引理:如果n是一个正的奇数,那么n分解为两个正整数的积和表示成两个平...
  • luyuncheng
  • luyuncheng
  • 2013年01月31日 22:33
  • 2064

HDU 1299(数论,求n的素因子个数)

Diophantus of AlexandriaTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/...
  • xiaotaoqibao
  • xiaotaoqibao
  • 2010年08月01日 20:47
  • 3070
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nyoj-最大素因子
举报原因:
原因补充:

(最多只允许输入30个字)