Cryptography Reloaded UVALive - 4353(BigInteger)
写写式子就出来了方程。。
然后解方程。。不过数很大。。用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)的更多相关文章
- 训练指南 UVALive - 3713 (2-SAT)
layout: post title: 训练指南 UVALive - 3713 (2-SAT) author: "luowentaoaa" catalog: true mathja ...
- java大数(BigInteger)
JAVA之BigInteger 用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂.用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的 ...
- UVALive - 6440(模拟)
题目链接:https://vjudge.net/contest/241341#problem/G 题目大意:输入一个N,n次操作.对于第一种操作增加一个病人,告诉病人的t0,st0,r.第二种操作,在 ...
- UVALive - 7147 (数学)
题目链接 题意 n只队伍,两两之间会进行比赛,赢平输都有相应得分,所有比赛结束后,前m名可以晋级.问最大的不能晋级分数为多少,以及最小的能晋级的分数. 分析 智商题...按照要求来贪心1.没有晋级的队 ...
- Chapter1-data access reloaded:Entity Framework(下)
1.4 Delving deep into object/relational differences 深入挖掘对象关系的不同 理解面向对象和关系世界的不同是重要的,因为他会影响你设计一个对象模型或者 ...
- Chapter1-data access reloaded:Entity Framework(上)
本章包括以下几个部分: 1.DataSet and classic ADO.NET approach2.Object model approach3.Object/relational mismatc ...
- Leonardo's Notebook UVALive - 3641(置换)
题意: 给出26个大写字母的置换B,问是否存在一个置换A,使得A2 = B 解析: 两个长度为n的相同循环相乘,1.当n为奇数时结果也是一个长度为n的循环:2. 当n为偶数时分裂为两个长度为n/2 ( ...
- UVALive 6853(dp)
题意:已知有n个城市,某歌手每月进行一场演唱会,共持续c个月,可连续两个月在同一个城市.城市间的路费已给出,且已知每个城市在第k(1<=k<=c)个月举办演唱会的所得利润,求最终的最大利润 ...
- What a Ridiculous Election UVALive - 7672 (BFS)
题目链接: E - What a Ridiculous Election UVALive - 7672 题目大意: 12345 可以经过若干次操作转换为其它五位数. 操作分三种,分别为: 操作1:交 ...
随机推荐
- pygrib学习
pygrib-2.0.3/docs/index.html 导入pygrib模块 >>> import pygrib 打开grib文件,获取grib消息迭代器 >>> ...
- 第1章 Linux命令行简介
1.1 Linux命令行概述 1.2 在Linux命令行下查看命令帮助 1.3 Linux关机.重启.注销命令 1.4 老男孩的运维思想 1.1 Linux命令行概述 1.1.1 Linux命令行的作 ...
- Python里的类和对象简介
---恢复内容开始--- Python里的类 对象=属性+方法: 对象的属性主要是指主要的特征和参量,而方法主要是指函数: 类是一个具有一定特征和方法的集合,而对象是类的一个:类和对象的关系就如同模 ...
- (转)CentOS7系统信息及运行情况查看
原文链接:https://blog.csdn.net/qq_42196196/article/details/85063911 系统信息 CPU信息 内存信息 显卡信息 硬盘信息 网络信息 用户信息 ...
- 小程序与WebRTC联姻能擦出怎样的火花?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯视频云终端团队发表于云+社区专栏 腾讯视频云终端技术总监,rexchang(常青), 2008 年毕业加入腾讯,一直从事客户端研发 ...
- Django_cookie+session
一.cookie和session介绍 cookie 由服务器产生内容,浏览器收到请求后保存在本地:当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是“谁 ...
- Mininet-Wifi 多接入点(Access Point)实验
实验简介 这个实验来自Mininet-Wifi用户手册.在本实验中,我们会创建一个有三个AP的线式拓扑,并有三个站点(station)与每个AP通过无线相连.将通过这个时间简单演示一些Mininet ...
- beta冲刺(7/7)
目录 组员情况 组员1:胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:何宇恒 组员11:刘一好 展示组内最新 ...
- 45度炸队Alpha冲刺博客集
博客集如下: Alpha冲刺Day1:第一天冲刺记录 Alpha冲刺Day2:第二天冲刺记录 Alpha冲刺Day3:第三天冲刺记录 Alpha冲刺Day4:第四天冲刺记录 Alpha冲刺Day5:第 ...
- POJ 1112 Team Them Up! 二分图判定+01背包
题目链接: http://poj.org/problem?id=1112 Team Them Up! Time Limit: 1000MSMemory Limit: 10000K 问题描述 Your ...