UVA 113 Power of Cryptography (数学)
| Power of Cryptography |
Background
Current work in cryptography involves (among other things) large prime numbers and computing powers of numbers modulo functions of these primes. Work in this area has resulted in the practical use of results from number theory and other branches of mathematics once considered to be of only theoretical interest.
This problem involves the efficient computation of integer roots of numbers.
The Problem
Given an integer
and an integer
you are to write a program that determines
, the positive
root of p. In this problem, given such integers n and p, p will always be of the form
for an integerk (this integer is what your program must find).
The Input
The input consists of a sequence of integer pairs n and p with each integer on a line by itself. For all such pairs
,
and there exists an integer k,
such that
.
The Output
For each integer pair n and p the value
should be printed, i.e., the number k such that
.
Sample Input
2
16
3
27
7
4357186184021382204544
Sample Output
4
3
1234
double能表示的范围是-1.7e308 ~ 1.7e308,精度至少为15位,而输出结果在int的范围内,即10位,所以可以输出可以用double
至于计算过程中为什么能用double而不会影响到结果,我也暂时没搞懂,因为double的精度只有15位,最多也才有16位,但是p的范围是10^101,输入过程中用的也不是科学计数法,15位后的值肯定被抹掉了,结果却是对的。
正确的分析应该在这:http://blog.csdn.net/synapse7/article/details/11672691,用到了误差分析,得出的结果是在这一题里失去的精度不会影响答案,等我数学补上来之后来研究(吐槽一下网上的好多人,风轻云淡的就发上来了,真的懂了么?自己不扎实不要紧,关键在于误导了新手)
#include<stdio.h>
#include<math.h> int main(void)
{
double n,p; while(scanf("%lf%lf",&n,&p) != EOF)
printf("%.lf\n",pow(p, / n)); return ;
}
UVA 113 Power of Cryptography (数学)的更多相关文章
- POJ-2109 Power of Cryptography(数学或二分+高精度)
题目链接: https://vjudge.net/problem/POJ-2109 题目大意: 有指数函数 k^n = p , 其中k.n.p均为整数且 1<=k<=10^9 , 1< ...
- Power of Cryptography(用double的泰勒公式可行分析)
Power of Cryptography Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...
- [POJ2109]Power of Cryptography
[POJ2109]Power of Cryptography 试题描述 Current work in cryptography involves (among other things) large ...
- 贪心 POJ 2109 Power of Cryptography
题目地址:http://poj.org/problem?id=2109 /* 题意:k ^ n = p,求k 1. double + pow:因为double装得下p,k = pow (p, 1 / ...
- poj 2109 Power of Cryptography
点击打开链接 Power of Cryptography Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16388 Ac ...
- Poj 2109 / OpenJudge 2109 Power of Cryptography
1.Link: http://poj.org/problem?id=2109 http://bailian.openjudge.cn/practice/2109/ 2.Content: Power o ...
- POJ2109——Power of Cryptography
Power of Cryptography DescriptionCurrent work in cryptography involves (among other things) large pr ...
- uva 10330 - Power Transmission(网络流)
uva 10330 - Power Transmission 题目大意:最大流问题. 解题思路:増广路算法. #include <stdio.h> #include <string. ...
- UVA 11149 - Power of Matrix(矩阵乘法)
UVA 11149 - Power of Matrix 题目链接 题意:给定一个n*n的矩阵A和k,求∑kiAi 思路:利用倍增去搞.∑kiAi=(1+Ak/2)∑k/2iAi,不断二分就可以 代码: ...
随机推荐
- 用vagrant搭建一个自己的lnmp环境(一)
用vagrant搭建自己的lnmp环境 1.工具: a.vagrant b.virtual box c.linux服务器box(此处我使用centos 7.0) 2.安装完vagrant和virtua ...
- Arrays, Hashtables and Dictionaries
Original article Built-in arrays Javascript Arrays(Javascript only) ArrayLists Hashtables Generic Li ...
- sessionStorage 、localStorage 和 cookie 之间的区别
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...
- pic/at89c2051 programmer
http://dangerousprototypes.com/forum/viewtopic.php?t=170 It looks like the PICKIT2 uses a small boos ...
- ssh 命令行通过私钥登录其它设备
ssh -i root(私钥文件) root@IP (被访问的服务器IP) 这里备份一下了
- C#中正则表达式只取前N个匹配结果
用Regex.Matches方法可以得到同指定正则表达式对应的所有匹配结果.有时,所有匹配结果可能有成千上万个,考虑到性能效率的因素,只需要取出前N个匹配结果.下面的代码演示了做法: 需求:取字符串中 ...
- C# 程序员最常犯的 10 个错误
关于C# C#是达成微软公共语言运行库(CLR)的少数语言中的一种.达成CLR的语言可以受益于其带来的特性,如跨语言集成.异常处理.安全性增强.部件组合的简易模型以及调试和分析服务.作为现代的CLR语 ...
- Shared File System Master Slave 全配置以及测试
在本机完成2个broker的共享文件测试 2个broker的完整配置文件如下 <!-- Licensed to the Apache Software Foundation (ASF) ...
- rails 调试
1. ruby-debug, ruby-debug19 没人维护,bug多.Ruby 1.9.3后不推荐使用 2. debugger ruby 1.9.3后的选择,功能强大,缺点是没有语法高亮. 项目 ...
- Linux下安装MySQL数据库以及用C语言编程存取数据库
ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录.不过这也不是什么太大的缺点.下面我们就用 apt-g ...