Find the maximum/hdoj 4002 2011 Regional Dalian Online euler fuction
来源:互联网 发布:心蓝软件下载 编辑:程序博客网 时间:2024/05/16 15:55
这题是用来求1到n间i/euler(i)最大值。可得x/(x(1-1/p1)(1-1/p2)(1-1/p3).....(1-1/pn)) (pi为x的质因数),则有p1*p2*p3....*pn/(1-p1)(1-p2)(1-p3)....(1-pn), p1/(1-p1)是单调递减的。可得n前的全部质数的积,求刚好比n小于等于的最大的积即可。从最小的质数开始乘,直到时刚好不大于n的数即为结果。
打表即可!
import java.io.*;import java.util.*;import java.math.*;import java.math.BigInteger;public class hdoj4002 {public static void main(String[] args){ //////////////////////// final int MAXN=300; int[] prime=new int[MAXN+10]; int[] allprime=new int[MAXN]; int i; int j; int sub=0; prime[0]=1; prime[1]=1; for(i=2;i<=MAXN;i++) { if(prime[i]==0) { allprime[sub++]=i; for(j=i+i;j<=MAXN;j+=i) { prime[j]=1; } } } /////////////////////////////////store all the prime into the array allprime. BigInteger[] ans=new BigInteger[60];BigInteger flag=new BigInteger("2");ans[0]=BigInteger.valueOf(allprime[0]); for(i=1;i<60;i++) { ans[i]=ans[i-1].multiply(BigInteger.valueOf(allprime[i])); }//store the prime product in a table Scanner cin=new Scanner(System.in); int n; BigInteger num; n=cin.nextInt(); while(n>0) { n--; num=cin.nextBigInteger(); for(i=0;i<60;i++) { if(num.compareTo(ans[i])==0) { System.out.println(ans[i]); break; } if(num.compareTo(ans[i])<0) { System.out.println(ans[i-1]); break; } } }} }
- Find the maximum/hdoj 4002 2011 Regional Dalian Online euler fuction
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest Find the maximum
- The kth great number/hdoj 4006 2011 Regional Dalian Online priority queue
- hdoj 4002Find the maximum
- 2011 大连网络赛 The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest 解题报告
- [ACM Regional 2011] Dalian
- 2016 Asia Regional Dalian Online 1006
- 2016 ACM/ICPC Asia Regional Dalian Online
- 2016 ACM/ICPC Asia Regional Dalian Online
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest hdu4001
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest hdu4002
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest hdu4007
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest &&Dave
- 4007 Dave(The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest)
- HDOJ-4002/(大连网赛1002)- Find the maximum 数论
- HDOJ 4002 Find the maximum(数论+打表)
- The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest &&The kth great number
- 基本的动态连接库的例子1
- 快速失败、经常失败、故意失败
- 如何创建节俭的source insight工程
- 线性筛选——求质数(参考)
- Android访问权限大全
- Find the maximum/hdoj 4002 2011 Regional Dalian Online euler fuction
- 07百度数据库试题(论坛系统)
- 基于OTSU算法和基本粒子群优化算法的双阈值图像分割
- Spring IOC源码分析(3)
- 2011年八月工作心得
- 关于Newey-West Standard Errors的一个讨论
- VirtualBox安装Mac OS X雪豹操作系统图文详解
- static的作用
- 第一篇