题目

//下面这个是最先用的方法,因为学姐先讲完这个,所以懒得写代码,就将就着这个用,结果搞了老半天,还是错了,心累。。

#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的更多相关文章

  1. 抓其根本(一)(hdu2710 Max Factor 素数 最大公约数 最小公倍数.....)

    素数判断: 一.根据素数定义,该数除了1和它本身以外不再有其他的因数. 详见代码. int prime() { ; i*i<=n; i++) { ) //不是素数 ; //返回1 } ; //是 ...

  2. HDU-2710 Max Factor

    看懂: Max Factor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  3. Max Factor(素数筛法)题解

    Max Factor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. POJ3048 Max Factor

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  5. HDOJ/HDU 2710 Max Factor(素数快速筛选~)

    Problem Description To improve the organization of his farm, Farmer John labels each of his N (1 < ...

  6. ACM Max Factor

    To improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) co ...

  7. hdu 2710 Max Factor 数学(水题)

    本来是不打算贴这道水题的,自己却WA了三次.. 要考虑1的情况,1的质因子为1 思路:先打表 ,然后根据最大质因子更新结果 代码: #include<iostream> #include& ...

  8. poj 3048 Max Factor(素数筛)

    这题就是先写个素数筛,存到prime里,之后遍历就好,取余,看是否等于0,如果等于0就更新,感觉自己说的不明白,引用下别人的话吧: 素数打表,找出20000之前的所有素数,存入prime数组,对于每个 ...

  9. Max Factor 2710 最大的合数的质数因子

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2710 思路:用类似“埃氏筛法”求素数的方法 只是不在把合数标记为1 而是标记为他是因子数. 最后比较大小即 ...

随机推荐

  1. git 标签管理

    发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照 ...

  2. 案例情景--在一次Oracle 数据库导出时 EXP-00008;ORA-00904:EXP-00000: oracle不同版本导入导出规则

    案例情景--在一次Oracle 数据库导出时: C:\Documents and Settings\Administrator>exp lsxy/lsxy@lsxy_db file=E:\lsx ...

  3. 11. pt-heartbeat

    pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop ------------------------------------- ...

  4. c++文件中引用C代码

    下面提供一个比较完整的示例程序,一共有四个文件:main.cpp.test.c.test.h.test.hpp main.cpp #include "test.hpp" int m ...

  5. Spring ConversionService 类型转换(一)Converter

    Spring ConversionService 类型转换(一)Converter Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.h ...

  6. NServiceBus SAGA 消息状态驱动

    https://docs.particular.net/tutorials/nservicebus-sagas/1-getting-started/ 链接:https://pan.baidu.com/ ...

  7. 连接db2数据库出现No buffer space available (maximum connections reached?)

    Caused by: javax.naming.NamingException: [jcc][t4][2043][11550][3.57.82] 异常 java.net.SocketException ...

  8. C# 遇到 which has a higher version than referenced assembly

    当C#遇到这种提示: which has a higher version than referenced assembly, 说明有两个或多个工程引用的dll的版本有出现不一样, 如: A工程引用l ...

  9. 基于注解的接口限流+统一session认证

    代码心得: 一个基本的做法:对于用户身份认证做到拦截器里,针对HandlerMethod进行统一拦截认证,根据方法上的注解标识,判别是否需要身份验证,并将查找出来的User实体存入ThreadLoca ...

  10. c#中的as,is和强转

    as和强转之间的区别: as转换类型失败时不会抛出异常:强转类型失败时会抛出异常 引入is先对变量进行检验: if (foo is int) { i = (int)foo; } logger log ...