TYVJ P1020 寻找质因数

做题记录:2016-08-08

描述

给出N个数字,试求质因数最大的数字。

输入格式

第一行,一个整数N,表示数字个数。
接下来N行,每行一个整数A_i,表示给出的数字。

输出格式

一个整数,表示质因数最大的数字。

测试样例1

输入


36 
38 
40 
42

输出

38

备注

N <= 5000 , A_i <= 20000

代码

 1 #include<iostream>
 2 #include<cmath>
 3 #include<cstdio>
 4 #define N 20001
 5 using namespace std;
 6 int n,ans,mx;
 7 bool a[N];
 8 void primelist(){//筛法 ,0为质数
 9     a[0]=a[1]=1;
10     for(int i=2;i<N;i++)
11         if(!a[i])
12             for(int j=i*2;j<N;j+=i)
13                 a[j]=1;
14 }
15
16 int main(){
17     freopen("01.txt","r",stdin);
18     primelist();
19     scanf("%d",&n);
20     for(int i=1;i<=n;i++){
21         int x;
22         scanf("%d",&x);
23         for(int j=x;j>0;j--){
24             if((x%j==0&&!a[j])||j==1){
25                 if(j>mx){
26                     mx=j;
27                     ans=x;
28                 }
29                 break;
30             }
31         }
32     }
33     printf("%d",ans);
34     return 0;
35 }
时间: 2024-08-04 13:09:41

TYVJ P1020 寻找质因数的相关文章

寻找质因数

模块附件的设计(1) "附件"作为模块记录数据的补充也是很重要的一部分,比如对于"省份"模块,我们可以放置一些地图.对于"销售合同"模块,可以上传合同正文的电子文件,以及扫描件.对于"客户"上传其营业执照,资质类型的图片等等. 附件整个管理流程已经完成,现在只要做的二步就是给模块加上"有附件"这个标记,然后再设置一下权限. 进入模块管理,选择省份,然后修改. 保存后,需要在权限设计中给用户角色加上可以操作附

大神刷题表

9月27日 后缀数组:[wikioi3160]最长公共子串 dp:NOIP2001统计单词个数 后缀自动机:[spoj1812]Longest Common Substring II [wikioi3160]最长公共子串 [spoj7258]Lexicographical Substring Search 扫描线+set:[poj2932]Coneology 扫描线+set+树上删边游戏:[FJOI2013]圆形游戏 结论:[bzoj3706][FJ2014集训]反色刷 最小环:[poj1734

秀尔算法:破解RSA加密的“不灭神话”

RSA加密 VS 秀尔算法 作为RSA加密技术的终结者——“太多运算,无法读取”的秀尔算法(Shor’s algorithm)不是通过暴力破解的方式找到最终密码的,而是利用量子计算的并行性,可以快速分解出公约数,从而打破了RSA算法的基础(即假设我们不能很有效的分解一个已知的整数).同时,秀尔算法展示了因数分解这问题在量子计算机上可以很有效率的解决,所以一个足够大的量子计算机可以破解RSA. RSA加密“曾经”之所以强大,是因为它对极大整数做因数分解的难度决定了RSA算法的可靠性.将两个质数相乘

C语言之基本算法34—分解质因数(方法一)

//矩阵基础 /* ================================================================== 题目:输入一个正整数.将其分解为质因式,如:60=2*2*3*5:若本身是质数,则输出 如:307是一个质数! ================================================================== */ #include<stdio.h> void main() { int n,m,c,i,k,

Tyvj 1176 火焰巨魔的惆怅

Tyvj 1176 火焰巨魔的惆怅 背景 TYVJ2月月赛第一道 巨魔家族在某天受到了其他种族的屠杀,作为一个英雄,他主动担任了断后的任务,但是,在巨魔家族整体转移过后,火焰巨魔却被困住了,他出逃的方式也只有召唤小火人这一种方式,所以请你帮助他. 描述 我们把火焰巨魔所处的位置抽象成一张有向图,他的位置就是1号点位,目的就是走到第N号点位,因为小火人会裂嘛,所以我们可以看做每走一条路,小火人的数量都会加倍,而每条路上的敌人有多强,会消耗多少小火人c[i]也会给出(c[i]为负值):当然有些时候路

水仙花数&amp;素数&amp;质因数分解的C语言实现

最近,我翻了一下之前的C语言教材,看了三个有意思的小程序,包括:寻找"水仙花数".判断某数是否为素数.对一个数进行质因数分解.我想把这三个东西放到一个程序中,便写下了此文. 算法步骤 1. 寻找"水仙花数". "水仙花数"是指一个三位数,其各位数字的立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 2. 判断某数是否为素数. 素数是指只能被1和它本身整除的数,判断一个数是否为

质因数分解的rho以及miller-rabin

一.前言 质因数分解,是一个在算法竞赛里老生常谈的经典问题.我们在解决许多问题的时候需要用到质因数分解来辅助运算,而且质因数分解牵扯到许许多多经典高效的算法,例如miller-rabin判断素数算法,rho启发式搜索质因数分解算法等.在此文里,我要介绍的就是miller-rabin算法以及rho启发式搜索分解算法. 二.算术基本定理 首先,我们得知道,任意一个大于1的自然数都可以分解为有限个质数的乘积.这里因子均为质数,且为正整数.我们把这样的分解成为N的标准分解式.关于算数基本定理的应用有许多

NOIP2012-普及组复赛-第一题-质因数分解

题目描述 Description 已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入输出格式 Input/output 输入格式:输入只有一行,包含一个正整数n.输出格式:输出只有一行,包含一个正整数p,即较大的那个质数. 输入输出样例 Sample input/output 样例测试点#1 输入样例: 21 输出样例: 7 思路:这题是一个十分简单数学问题,可以把质因数从2到n的平方根寻找,如果发现一个数能刚好被n整除,输出大的那个(用n除以那个数) 代码如下: 1 #in

质因数的思维题

Alice and Bob begin their day with a quick game. They first choose a starting number X0?≥?3 and try to reach one million by the process described below. Alice goes first and then they take alternating turns. In the i-th turn, the player whose turn it