题目

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

#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. 8Q - 献给杭电五十周年校庆的礼物

    我不能参赛,就送给学校一个DOOM III球形大蛋糕吧.等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?  ...

  2. PAT 1085 PAT单位排行(25)(映射、集合训练)

    1085 PAT单位排行(25 分) 每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜.本题就请你实现这个功能. 输入格式: 输入第一行给出一个正整数 N(≤10​5​​),即考生人数.随 ...

  3. JTable 查询

    public JTable query(String table) throws SQLException { DefaultTableModel tablemodel = new DefaultTa ...

  4. PC 上的 LVM 灾难修复

    LVM 介绍 LVM 简介 LVM 是逻辑盘卷管理(Logical Volume Manager)的简称,最早是 IBM 为 AIX 研发的存储管理机制.LVM 通过在硬盘和分区之间建立一个逻辑层,可 ...

  5. UML 类图几种关系的总结(图文并茂、案例详解)

    听语音 | 浏览:2831 | 更新:2017-03-01 13:06 1 2 3 4 5 6 7 分步阅读 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(R ...

  6. java通过接口扩展枚举

    package com.hra.riskprice; import com.hra.riskprice.SysEnum.Factor_Type; import com.hra.riskprice.po ...

  7. mongoDB(Linux)

    启动  service mongod start 安装好后,输入mongo进入控制台 创建数据库 use baseName db.createCollection("game_record& ...

  8. 使用scrollTop返回顶部

    scrollTop属性表示被隐藏在内容区域上方的像素数.元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素宽度 由于scrol ...

  9. AX_Args

    Args args; FormRun formRun; ; args = new Args(); args.name(formstr(FormName)); args.caller(); args.r ...

  10. Python Tutor

    Python Tutor Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程.通过这个工具, ...