写写式子就出来了方程。。

然后解方程。。不过数很大。。用Java就好啦。。

就不贴呃的代码了。。。贴别人的。。https://blog.csdn.net/qq_15714857/article/details/49790693?locationNum=5&fps=1

import java.util.*;
import java.math.*; public class Main {
public static BigInteger sqrt( BigInteger n ) {
BigInteger L = BigInteger.ZERO , R = n ;
while ( L.compareTo(R) < 0 ) {
BigInteger M = L.add(R) ;
M = M.divide(BigInteger.valueOf(2)) ;
if ( M.multiply(M).compareTo(n) == 0 ) return M ;
else if ( M.multiply(M).compareTo(n) > 0 ) R = M.subtract(BigInteger.ONE);
else if(M.multiply(M).compareTo(n) < 0) L = M.add(BigInteger.ONE) ;
}
if ( L.multiply(L).compareTo(n) == 0 ) return L ;
else return BigInteger.valueOf(-1) ;
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
BigInteger n , d , e ;
BigInteger p , q;
int kase = 1 ;
while(cin.hasNext()){
n = cin.nextBigInteger();
d = cin.nextBigInteger() ;
e = cin.nextBigInteger() ;
if ( n.compareTo(BigInteger.ZERO) == 0 && d.compareTo(BigInteger.ZERO) == 0 && e.compareTo(BigInteger.ZERO) == 0 ) break ; d = d.multiply(e);
d = d.subtract(BigInteger.ONE);
int k = 0 ;
while(true){
k++ ;
BigInteger t = d.mod(BigInteger.valueOf(k));
if ( t.compareTo(BigInteger.ZERO) > 0 ) continue ;
t = d.divide(BigInteger.valueOf(k)) ;
BigInteger b = (t.subtract(n)).subtract(BigInteger.ONE);
BigInteger delta = (b.multiply(b)).subtract(BigInteger.valueOf(4).multiply(n)) ;
if ( delta.compareTo(BigInteger.ZERO) >= 0 ) {
delta = sqrt(delta) ;
if( delta.compareTo(BigInteger.valueOf(-1)) == 0 ) continue ;
b = BigInteger.ZERO.subtract(b) ;
p = b.add(delta) ;
p = p.divide(BigInteger.valueOf(2)) ;
q = b.subtract(delta) ;
q = q.divide(BigInteger.valueOf(2)) ;
if ( p.multiply(q).compareTo(n) == 0 ) {
if ( p.compareTo(q) > 0 ) { t = p ; p = q ; q = t ;}
System.out.println("Case #"+ kase++ + ": " + p + " " + q);
break ;
} }
} }
cin.close();
}
}

Cryptography Reloaded UVALive - 4353(BigInteger)的更多相关文章

  1. 训练指南 UVALive - 3713 (2-SAT)

    layout: post title: 训练指南 UVALive - 3713 (2-SAT) author: "luowentaoaa" catalog: true mathja ...

  2. java大数(BigInteger)

    JAVA之BigInteger 用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂.用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的 ...

  3. UVALive - 6440(模拟)

    题目链接:https://vjudge.net/contest/241341#problem/G 题目大意:输入一个N,n次操作.对于第一种操作增加一个病人,告诉病人的t0,st0,r.第二种操作,在 ...

  4. UVALive - 7147 (数学)

    题目链接 题意 n只队伍,两两之间会进行比赛,赢平输都有相应得分,所有比赛结束后,前m名可以晋级.问最大的不能晋级分数为多少,以及最小的能晋级的分数. 分析 智商题...按照要求来贪心1.没有晋级的队 ...

  5. Chapter1-data access reloaded:Entity Framework(下)

    1.4 Delving deep into object/relational differences 深入挖掘对象关系的不同 理解面向对象和关系世界的不同是重要的,因为他会影响你设计一个对象模型或者 ...

  6. Chapter1-data access reloaded:Entity Framework(上)

    本章包括以下几个部分: 1.DataSet and classic ADO.NET approach2.Object model approach3.Object/relational mismatc ...

  7. Leonardo's Notebook UVALive - 3641(置换)

    题意: 给出26个大写字母的置换B,问是否存在一个置换A,使得A2 = B 解析: 两个长度为n的相同循环相乘,1.当n为奇数时结果也是一个长度为n的循环:2. 当n为偶数时分裂为两个长度为n/2 ( ...

  8. UVALive 6853(dp)

    题意:已知有n个城市,某歌手每月进行一场演唱会,共持续c个月,可连续两个月在同一个城市.城市间的路费已给出,且已知每个城市在第k(1<=k<=c)个月举办演唱会的所得利润,求最终的最大利润 ...

  9. What a Ridiculous Election UVALive - 7672 (BFS)

    题目链接: E - What a Ridiculous Election  UVALive - 7672 题目大意: 12345 可以经过若干次操作转换为其它五位数. 操作分三种,分别为: 操作1:交 ...

随机推荐

  1. Linux下的文件系统结构

    文章链接:https://blog.csdn.net/qq_38646470/article/details/80159630

  2. 经典笔试题:用C写一个函数测试当前机器大小端模式

    “用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答: 1. 用union来测试机器的大小端 #include <stdio.h> union tes ...

  3. gitlab 配置 ssh key

    打开本地git bash,使用如下命令生成ssh公钥和私钥对 ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址) 然后打开~/.ssh/id ...

  4. python代码异常范围检查方法(非常实用)

    对于python编程的代码,如果需要进行相应的检查其中的错误或者异常,并且确定出现异常语句的大致范围,主要有以下四种方法: 1.第一种方法:遇错即止(告知原因) try  ......(所需检查语句) ...

  5. 扩展Unity Inspector

    Unity Editor下,可以在不改变原有布局的情况下扩展Inspect的界面. 在继承了Editor的类中,有两种实现方式: using UnityEditor; [CustomEditor(ty ...

  6. Linux系统中时间区域和API

    1.问题 在开发云平台程序的时候,经常会碰到时间区域转换的问题.比如,任何网络存储的文档的metadata都自己记录了编辑时间.但是,云平台记录时需要把这个时间转成标准时间,便于管理.但是用户使用的时 ...

  7. hadoop 集群HA高可用搭建以及问题解决方案

    hadoop 集群HA高可用搭建 目录大纲 1. hadoop HA原理 2. hadoop HA特点 3. Zookeeper 配置 4. 安装Hadoop集群 5. Hadoop HA配置 搭建环 ...

  8. 安装配置php

    安装PHP       1.安装PHP       yum install php   #根据提示输入Y直到安装完成        2.安装PHP组件,使PHP支持 MySQL.PHP支持FastCG ...

  9. 《 Spring1之第二次站立会议(重发)》

    < 第二次站立会议(重发)> 昨天,我把找到的代码和协议资料等相关资料在团队里做了相应的汇报: 今天,我对自己找到的代码进行了相关的了解后,把它们在编译环境中进行了编译以及接着对代码进行逐 ...

  10. myeclipse 导入 import maven web project

    用google才收到了这个.. http://stackoverflow.com/questions/12197662/maven-java-web-project-not-recognised-wh ...