您的位置:首页 > 其它

uva 10916 - Factstone Benchmark

2012-06-16 10:14 302 查看

Problem B: Factstone Benchmark

Amtel has announced that it will release a 128-bit computer chip by 2010, a 256-bit computer by 2020, and so on, continuing its strategy of doubling the word-size every ten years. (Amtel released a 64-bit computer in 2000, a 32-bit computer in 1990, a 16-bit
computer in 1980, an 8-bit computer in 1970, and a 4-bit computer, its first, in 1960.)

Amtel will use a new benchmark - the Factstone - to advertise the vastly improved capacity of its new chips. The
Factstone rating is defined to be the largest integer n such that
n! can be represented as an unsigned integer in a computer word.

Given a year 1960 ≤ y ≤ 2160, what will be the Factstone rating of Amtel's most recently released chip?

There are several test cases. For each test case, there is one line of input containing
y. A line containing 0 follows the last test case. For each test case, output a line giving the Factstone rating.

Sample Input

1960
1981
0

Output for Sample Input

3
8


计算 n的最大值,2^n>n!,以前做过的题开始有傻乎乎的直接算忘记n!很大会越界,取对数可以解决

lg(2^n)>lg(n!)

n*lg2>lg1+.......lgn

#include<stdio.h>

#include<math.h>

void main()

{int n,i;

double m,s;

while (scanf("%d",&n),n)

{m=pow(2,(n-1940)/10)*log(2);

s=0;

for (i=1;s<m;i++)

s+=log(i);

printf("%d\n",i-2);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: