⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2645.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:
Source

Problem Id:2645  User Id:fzk 
Memory:1516K  Time:1137MS
Language:Java  Result:Accepted

Source 

import java.util.*;
import java.io.*;
import java.lang.reflect.Array;

public class Main {
		
	static public void main( String [] string ) throws Exception{
		Scanner cin = new Scanner( System.in );
		long p, q;
		while( true ) {
			p = cin.nextLong();
			q = cin.nextLong();
			if( p == 0 && q == 0 )
				break;
			if( p == 0 ) {
				System.out.println( "0 2" );
				continue;
			}
			
			long s, i, j, sum=2;
			boolean key = false;
			for( i=1; i<=50000 && !key; i++ ) {
				if( sum*q%p == 0 ){
					s = sum*q/p;
					j = (long)Math.sqrt( s );
					
					if( j+1 > 50000 )
						break;
					if( j*(j+1) == s ) {
						System.out.println( (i+1) + " " + (j-i) );
						key = true;
						break;
					}
				}
				sum += 2*i+2;
			}
			if( !key )
				System.out.println( "impossible" );
				
		}
		return;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -