8.3 心疼
来源:互联网 发布:mongodb和mysql的区别 编辑:程序博客网 时间:2024/04/29 12:16
Problem 1 heart.pas/c/cpp(heart.in heart.out) 【背景】 一个美丽的夜晚,Bingo和他的MM坐在高高的N骨N堆旁看着天上稀稀拉拉的星星。Bingo对着MM说:“我们就像指数函数。你是底数,我是指数。不管你是大于一还是大于零小于一,我都可一让我们的幸福指数(不同于上面的指数)到正无穷。”MM说“你是底数,我是指数,我要顺着你改变”。Bingo一阵感动,但是,作为一个男人,Bingo怎么能委屈自己的MM呢。Bingo说:“不行,我会心疼你的。”MM说:“我也会心疼你啊”。………… 【题目描述】 为了不让Bingo和他的MM谁更心疼,也就是让他们一样心疼对方,给你一个数n,请你找出最小的整数x使得xx的位数大于等于n。 【输入】 一个数,n。 【输出】 一个数x,满足xx的位数大于等于n,x-1x-1的位数小于n。 【样例】 heart.in 11 heart.out 10 【数据规模】 n<=1,000,000,000,000,000,000。
思路:数据范围MS很吓人,其实利用ln就能搞定。因为lg(x)+1就是x的位数而lg(xx)=x*lg(x),利用二分查找答案,问题就迎刃而解了
程序:
var
x,n,l,r,mid,a,ans:qword;
i,j:longint;
begin assign(input,'Heart.in');
assign(output,'Heart.out');
reset(input);
rewrite(output);
readln(n);
if n<8 then r:=8 else r:=n;
while l<=r do
begin
mid:=(l+r)>>1;
a:=trunc(ln(mid)/ln(10)*mid)+1;
if a>=n then
begin
ans:=mid;
r:=mid-1;
end
else l:=mid+1;
end;
writeln(ans);
close(input);
close(output);
end.
(真的很短)
反思:对于数字位数很变态的纯数学问题要考虑ln函数。
- 8.3 心疼
- 心疼
- 心疼
- 心疼。。。
- 心疼自己心疼自己心疼自己
- 心疼你
- 心疼了!
- 女人如何心疼男人
- 老婆生病,心疼中
- 有点高兴,有点心疼
- 丶原来如此的心疼.
- 一个人,一座城,一生心疼
- 很温暖,很心疼
- 爱,就是心疼
- 是否能停止心疼
- 心疼你的瘦骨嶙峋
- 2016.03.28(心疼)
- 慢一步,是因为心疼
- Box.net
- 再次回到南京
- 重新整理一个简单的JS日历控件
- myeclipse7.1 fatjar svn插件
- 后台往前台注册脚本
- 8.3 心疼
- 工作七年纪念
- 学下去
- sql存储过程【游标-循环表】
- 开发者不可不知的PHP框架深度解析--摘放
- 可恶的jar包
- 第一次
- sys.Extended.UI.TextBoxWrapper 为空或不是对象
- C语言指针1-定义