dreamangel

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  14 随笔 :: 0 文章 :: 0 评论 :: 0 Trackbacks

http://acm.fjnu.edu.cn/show?problem_id=1925
问题描述:
Amtel公司宣佈他們會在2010年發行128位元的電腦,在2020年發行256位元的電腦,在這個策略之下往後每10年就發行2倍位元的電腦。(Amtel公司在2000年發行 64位元,1990年發行32位元電腦,1980年發行16位元電腦,1970年發行8位元電腦,1960年發行4位元電腦,也是第一部電腦)。
Amtel公司將使用一種新的規格基準 「Factstone」來廣告並凸顯新一代電腦晶片容量的神速進步。「Factstone」的等級被定義為:以一個最大的整數 n 表示,使得 n! 可以在一個電腦字組(word,也就是我們說的多少位元)中被以 unsigned integer(無號整數)來表示。例如:在1960年時的電腦為4位元,也就是一個字組能表達 0~15的整數。而 3! 是在這個範圍中最大的階層數了(4! > 15),所以其「Factstone」等級是 3。
給你一個西元年數 y ,請問最新發行的Amtel電腦其「Factstone」等級是多少?

#include <iostream>
#include 
<cmath>
using namespace std;

int main()
{
    
long long n,t,tt,i;
    
double ans;
     
while(cin>>n&&n)
     
{
      t
=(n-1960)/10+2;
      tt
=1<<t;
      ans
=i=0;
      
while(ans<tt)
                   ans
+=log((double)++i)/log((double)2);
       printf(
"%lld\n",i-1); 
      }

}
posted on 2009-12-03 20:54 飞翔天使 阅读(515) 评论(0)  编辑 收藏 引用 所属分类: ACM

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理