結果
問題 |
No.8054 ほぼ直角二等辺三角形
|
ユーザー |
|
提出日時 | 2019-12-19 06:33:19 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 167 ms / 2,000 ms |
コード長 | 835 bytes |
コンパイル時間 | 2,574 ms |
コンパイル使用メモリ | 84,368 KB |
実行使用メモリ | 42,964 KB |
最終ジャッジ日時 | 2024-07-07 00:53:40 |
合計ジャッジ時間 | 6,535 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
ソースコード
import java.math.BigDecimal; import java.math.MathContext; import java.util.*; import java.io.*; import java.math.*; class Main{ public static void main(String[] args){ new Main().run(); } void run(){ Scanner sc=new Scanner(System.in); int X=sc.nextInt(); long u0=1,u=u0; long v0=1,v=v0; while(true){ long nu=u*u0+2*v*v0; long nv=u*v0+v*u0; if(nu*nu-2*nv*nv!=1&&nu*nu-2*nv*nv!=-1){ throw new AssertionError(); }else if(nu*nu-2*nv*nv==-1){ //System.out.println(nu+" "+nv+" "+(nu*nu-2*nv*nv)); } u=nu; v=nv; if(u*u-2*v*v==-1&&v>=Math.pow(10,X-1)){ long a=(u-1)/2,c=v,b=a+1; System.out.println(a+" "+b+" "+c); //System.out.println(a+" "+b+" "+(a*a+b*b)+" "+(c*c)); return; } } } void tr(Object...objects){ System.err.println(Arrays.deepToString(objects)); } }