Logarithms (数学)
来源:互联网 发布:网络运营课程 编辑:程序博客网 时间:2024/04/28 08:08
Description
Problem A
Logarithms
Input: Standard Input
Output: Standard Output
From time immemorial different series has been an integrated part of mathematics. Series is very important for finding values of many important functions such as sin(x), ex, ln(x) etc. The well known formula for finding the value of ln(1-x) is shown below:
, Here |x|<1.
However as this formula is true when x is less than 1, a modification is needed to find the formula for any integer. For any integer n the following relationship is true:
,
Here |x|<1 and it is a real number, n is a positive integer and L is a non-negative integer.
But for a given integer n, L can have more than one value. Your job is to find the smallest possible value of L and for that L find the value of x.
Input
The input file contains around 10000 line of input. Each line contains a single integer n (0<n<231-1). Input is terminated by a line containing a zero.
Output
For each line of input produce one line of output. This line contains one integer followed by one floating point number. The integer number denotes the smallest possible value of L and floating-point number denotes the corresponding value of x. This floating-point number should have eight digits after the decimal point.
Sample Input Output for Sample Input
6
7
300
0
2 0.18798830
2 0.05265302
6 0.25637435
Problemsetter: Shahriar Manzoor
Special Thanks: Arifuzzaman Arif, Sohel Hafiz, Derek Kisman
由题中两个formula可以得到:
ln(n) - ln(1 - x) = L.注意到fabs(x) < 1,得到0 < ln(1 - x) < ln2,所以ln(n) - ln2 < L,于是L取[ln(n) - ln2 + 1]即可([x]代表取小于x的最大整数)
AC CODE
//Memory: 0 KBTime: 24 MS//Language: ANSI C 4.1.2Result: Accepted#include <stdio.h>#include <math.h>int main(){ int n, L; double x; const double u = log(2); while(scanf("%d", &n) && n) { double m = log(n); L = ceil(m - u); x = 1- exp(m - L); printf("%d %.8lf\n", L, x); } return 0;}
- Logarithms (数学)
- UVA - 11666 Logarithms
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- 数学
- hibernate关联映射中的多对多
- 我从他身上得不到情爱
- 多进程 多线程
- Spring的各个jar包详解
- 【重新上本科】快速排序【中】
- Logarithms (数学)
- ubuntu10.04Lts解决vim安装问题
- 第一篇——.NET中一些必须理解的东西
- C++初步~几点要注意的
- 腾讯微博API参数OpenID和OpenKey的区别
- c#获取机器码
- atoi()函数的实现
- Spring的JDBCTemplate详解
- C语言里的puts()函数怎么用