| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
过路的神仙,停停脚In Reply To:没办法了,快崩溃了,help........... Posted by:faen at 2005-04-29 17:30:01 > 把这个题目细细的读了好几遍,实在发现不了我的程序哪里错了,高手帮忙看一下吧。感激。。。。
> import java.util.*;
> import java.io.*;
> import java.math.BigInteger;
> public class Main1411
> {
> public static void main(String [] args)throws Exception
> {
> InputStream in=new FileInputStream("c:\\in.txt");
> Scanner cin=new Scanner(in);
> int prime[]=new int[10000];
> int length=f(prime);
> while(true)
> {
> int m,a,b;
> m=cin.nextInt();a=cin.nextInt();b=cin.nextInt();
> if(m==0)break;
> int max=0;
> int p=0,q=0;
> for(int i=0;i<length;i++)
> {
> if(prime[i]*prime[i]>m)break;
> for(int j=find(prime,(int)(prime[i]*b/(double)a))+10;j>=i;j--)
> {
> int tarea=prime[j]*prime[i];
> if(tarea>max&&tarea<=m&&prime[j]*a<=prime[i]*b)
> {
> max=tarea;
> p=prime[i];
> q=prime[j];
> }
> }
> }
> System.out.println(p+" "+q);
> }
> }
> private static int f(int [] prime)
> {
> prime[0]=2;
> int index=1;
> for(int i=3;i<100000;i+=2)
> {
> boolean tag=true;
> int end=(int)Math.sqrt(i)+1;
> for(int j=3;j<=end;j+=2)
> if(i%j==0)
> {
> tag=false;
> break;
> }
> if(tag)
> prime[index++]=i;
> }
> return index;
> }
> private static int find(int [] prime,int x)
> {
> for(int i=0;i<prime.length;i++)
> {
> if(prime[i]<=x);
> else return i;
> }
> return -1;
> }
>
>
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator