艾利斯学做菜的数学期望编程题
对白
艾利斯
缇娅,我想让你教我做菜。
缇娅
好呀!我告诉你一个做菜的小技巧,能让菜肴更加美味哦!
文本内容
艾利斯想要做的菜一共有m种原料,她给每种原料标上1~m的记号(每个数字恰好出现一次)。设S为当前锅中的原料标号的可重集合,一开始锅里什么也没有(即S为空集)。她需要执行以下步骤:
1. 从[1,m]中等概率地选择一个整数x;
2. 将x加入到S中;
3. 计算S中所有标号的gcd,设为g;
4. 若g=1,则这道菜就做好了;否则,回到第1步。
这道菜的美味度就是S中的元素个数。由于缇娅不是很聪明,每次做菜都是凭感觉做,艾利斯想知道这样做之后这道菜的美味度的期望值是多少。由于答案可以表示成P/Q的形式,输出P·Q^{-1} mod (10^9+7)。
Standard Input
输入仅一行一个正整数m。
Standard Output
输出一行表示答案。
整体描述
这是一张图文结合的内容,上方包含两张二次元Galgame风格的插画,第一张展示了牢狱医生艾利斯走向缇娅的场景,第二张展示了缇娅手持锅具、开心地准备教艾利斯做菜的画面,旁边还有一个粉色头发的小角色露出惊讶的表情;下方是结合该角色故事背景设计的一道数学期望编程题,题目设定了艾利斯按照随机选择原料、直到原料标号的最大公约数为1时停止的流程,要求计算最终锅中原料数量的期望值,结果需要以特定的模运算形式输出,输入为正整数m,输出对应答案。
来源说明
插画部分的角色艾利斯和缇娅出自某未知的Galgame,编程题部分为原创内容,创作者将二次元角色的日常故事与数学概率期望问题相结合,形成了这道带有故事背景的编程竞赛题目。