分析:绝大部分情况硬币与直线相交数目为2*R条,极少数情况为2*R+1条。所以数学期望E=0.9999999*2*R+0.00000001*(2*R+1),而要求输出整数部分,则为2*R。
代码:
1 #include <iostream> 2 using namespace std; 3 typedef long long ll; 4 ll r; 5 int main() 6 { 7 ios::sync_with_stdio(false); 8 int t; 9 cin>>t; 10 while(t--) 11 { 12 cin>>r; 13 cout<<r*2<<endl; 14 } 15 return 0; 16 }
基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
收藏
关注
取消关注
有一个简单但是很有趣的游戏。在这个游戏中有一个硬币还有一张桌子,这张桌子上有很多平行线(如下图所示)。两条相邻平行线之间的距离是1,硬币的半径是R,然后我们来抛硬币到桌子上,抛下之后硬币有时候会和一些直线相交(相切的情况也算是相交),有时候不会。
请你来计算一下抛一次硬币之后,该硬币和直线相交数目的期望。
Input
第一行给出一个整数T,表示有T组数据(1<=T<=10000)。
第2行到T+1,每行给出一个整数R。(0< R <= 10,000,000,000)
Output
对于每一个数据,在一行中输出答案的整数部分即可。
Input示例
1
1
Output示例
2