hdu2710 Max Factor
//下面这个是最先用的方法,因为学姐先讲完这个,所以懒得写代码,就将就着这个用,结果搞了老半天,还是错了,心累。。
#include<stdio.h>
#include<string.h>
int prime[5010];
bool isprime[5010];
int solve(int n)
{
memset(prime,0,sizeof(prime));
int p=0;
for(int i=0; i<=n; i++) isprime[i]=true;
isprime[0]=false;
for(int i=2; i<=n; i++)
{
if(isprime[i])
{
prime[p++]=i;
for(int j=i*2; j<=n; j+=i) isprime[j]=false;
}
}
return p;
}
int main()
{
int n,T;
int m=0;
while(~scanf("%d",&T)){
int _max=0;
while(T--)
{
scanf("%d",&n);
int ans = solve(n);
for(int i=0; i<ans; i++) // printf("%d ",prime[i]);
{
for(int j=i+1; j<ans; j++)
{
if(prime[i]*prime[j]==n&&(prime[i]>_max||prime[j]>_max))
{
_max= prime[i]>prime[j]? prime[i] : prime[j];
m=n;
}
}
}
}
printf("%d\n",m);
}
return 0;
}
//然后,反思了一下,还是自己写代码好了,不用之前的那个,可能错就错在先入为主了,然后下面这是又一次的失败尝试:
#include<stdio.h>
#include<math.h>
int _max=0;
int loc=0;
bool prime(int n)
{
int flag = true;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag = false ;
break;
}
}
if(flag==false) return false;
else
return true;
}
void solve(int n)
{
int m;
for(m=n-1;m>=1;m--)
{
if(prime(m))
{
//printf("%d ",m);
if(n%m==0&&m>_max)
{
_max=m;
loc=n;
return;
}
}
}
}
int main()
{
int T,n;
while(~scanf("%d",&T)){
while(T--)
{
scanf("%d",&n);
solve(n);
}
printf("%d\n",loc);
}
return 0;
}
//最后百度了一下,然后借鉴到学姐讲的知识终于过了,心累
#include<stdio.h>
#include<string.h>
int isprime[20010];
void solve()
{
memset(isprime,0,sizeof(isprime));
isprime[1]=1;
for(int i=2; i<=20001; i++)
{
if(isprime[i]==0)
{
for(int j=i; j<=20001; j+=i)
isprime[j]=i;
}
}
}
int main()
{
int n,T;
solve();
while(~scanf("%d",&T)){
int _max=-1;
int loc =0;
while(T--)
{
scanf("%d",&n);
if(isprime[n]>_max)
{
_max=isprime[n];
loc = n;
}
}
printf("%d\n",loc);
}
return 0;
}
hdu2710 Max Factor的更多相关文章
- 抓其根本(一)(hdu2710 Max Factor 素数 最大公约数 最小公倍数.....)
素数判断: 一.根据素数定义,该数除了1和它本身以外不再有其他的因数. 详见代码. int prime() { ; i*i<=n; i++) { ) //不是素数 ; //返回1 } ; //是 ...
- HDU-2710 Max Factor
看懂: Max Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- Max Factor(素数筛法)题解
Max Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- POJ3048 Max Factor
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- HDOJ/HDU 2710 Max Factor(素数快速筛选~)
Problem Description To improve the organization of his farm, Farmer John labels each of his N (1 < ...
- ACM Max Factor
To improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) co ...
- hdu 2710 Max Factor 数学(水题)
本来是不打算贴这道水题的,自己却WA了三次.. 要考虑1的情况,1的质因子为1 思路:先打表 ,然后根据最大质因子更新结果 代码: #include<iostream> #include& ...
- poj 3048 Max Factor(素数筛)
这题就是先写个素数筛,存到prime里,之后遍历就好,取余,看是否等于0,如果等于0就更新,感觉自己说的不明白,引用下别人的话吧: 素数打表,找出20000之前的所有素数,存入prime数组,对于每个 ...
- Max Factor 2710 最大的合数的质数因子
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2710 思路:用类似“埃氏筛法”求素数的方法 只是不在把合数标记为1 而是标记为他是因子数. 最后比较大小即 ...
随机推荐
- git 分支强制删除
添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接 ...
- Liunx rm
rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf,这是一个危险的动作,“ * ”代表任意个字符).所以,我们在执行rm之 ...
- RabbitMQ 的基本介绍
RabbitMQ官网教程:http://www.rabbitmq.com/getstarted.html RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现.AMQP :Adv ...
- eclipse集成svn进行项目开发
在用eclipse进行项目开发的时候,报了一个错误:switch不支持String的参数.这个问题的原因是因为jre版本低于1.7,而当前的eclipse版本最高只能选1.6,无奈,我只能考虑换ecl ...
- AppStore企业账号打包发布APP流程详解
一.通过企业账号申请证书 1 Certificate Signing Request (CSR)文件 在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”, ...
- MFC动态按钮的创建及其消息响应(自定义消息)
动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 10000 2.在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针 ...
- [都是原创]Php simplexml 添加节点
Php simplexml 添加节点 原始代码如下 //================<? //创建xml对象$xml = new SimpleXMLElement('<Messages ...
- 工具类Utils的单元测试方式
数据质量功能已经开发完毕,但是要实现单元测试覆盖率80%以上,其他的还好,只是这个工具类实在让我摸不着头脑,其实工具类的单元测试是最简单的,只是自己想复杂了而已: 无返回值模拟: 有返回值模拟: 异常 ...
- 基于tomcat的solr环境搭建(Linux)
♥♥ solr是基于lucene的一个全文检索服务器,提供了一些类似webservice的API接口,用户可以通过http请求solr服务器,进行索引的建立和索引的搜索.索引建立的过程:用户提交的文 ...
- 技术课堂】如何管理MongoDB数据库?