测试案例:
思路很简单,都在代码的注释里,有什么问题可以随时问,望采纳!
int main()
{
while (1) {
int n;//n为蜡烛长度
double time = 0; //time为花费时间
printf("请输入蜡烛长度:");
scanf_s("%d", &n);
int longPart = 0, shortPart = 0;//定义蜡烛的长短
while (n >= 2) {
//随机产生切断蜡烛的位置
int randNum = (rand() % (n - 1)) + 1;
//获取两段蜡烛的长短
longPart = randNum * 2 >= n ? randNum : n - randNum;
shortPart = n - longPart;
//获取同时燃烧所花费时间
time += shortPart;
//剩余蜡烛的长度
n = longPart - shortPart;
}
//只剩下最后不可分的蜡烛的燃烧事件
time += n;
printf("花费时间为:%d\n", time);
}
}