`
lilisalo
  • 浏览: 1110085 次
文章分类
社区版块
存档分类
最新评论

POJ 2661 预处理

 
阅读更多
Factstone Benchmark
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 2335 Accepted: 1259

Description

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?

Input

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.

Output

For each test case, output a line giving the Factstone rating.

Sample Input

1960
1981
0

Sample Output

3
8

Source

哥至今仍然没有想明白,为什么C++提交会CE。。。。。

Source Code

Problem: 2661 User: bingshen
Memory: 8232K Time: 94MS
Language: G++ Result: Accepted
  • Source Code
    #include<stdio.h>
    #include<math.h>
    
    double a[1000001];
    
    void init()
    {
    	int i;
    	a[1]=log(1);
    	for(i=2;i<=1000000;i++)
    	{
    		a[i]=a[i-1]+((log(i))/(log(2)));
    	}
    }
    
    int main()
    {
    	init();
    	int n,i;
    	double num;
    	while(scanf("%d",&n)!=EOF)
    	{
    		if(n==0)
    			break;
    		num=4.0*pow(2,((n-1960)/10));
    		for(i=1;i<=1000000;i++)
    		{
    			if(a[i]>num)
    			{
    				break;
    			}
    		}
    		printf("%d/n",i-1);
    	}
    	return 0;
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics