鱼C论坛

 找回密码
 立即注册
查看: 791|回复: 5

计算鞭炮响声中的循环条件为什么是这样?

[复制链接]
发表于 2024-12-4 14:49:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 跑不掉 于 2024-12-4 16:45 编辑

四个人同时放鞭炮,甲每t1秒放一次,乙每t2秒放一次,丙每t3秒放一次,丁每t4秒放一次
,每人各放n次,求总共听到多少次鞭炮声,当几个鞭炮同时炸响,只算一次响声,第一次响声在第0秒。

我的问题是:为什么,fun函数里的for循环条件是i<maxt而不是i<=maxt???

  1. #include <stdio.h>

  2. int fun(int t1,int t2,int t3,int t4,int n)
  3. {
  4.         int count,i,maxt;
  5.         count=1;
  6.        
  7.         maxt=(t1>t2)? t1:t2;
  8.         maxt=(maxt>t3)? maxt:t3;
  9.         maxt=(maxt>t4)? maxt:t4;
  10.        
  11.         maxt=maxt*(n-1);
  12.        
  13.        
  14.         for(i=1;i<maxt;i++)
  15.         {
  16.                 if((i%t1==0&&i/t1<n)||(i%t2==0&&i/t2<n)||(i%t3==0&&i/t3<n)||(i%t4==0&&i/t4<n))
  17.                 {
  18.                         count++;
  19.                 }
  20.         }
  21.        
  22.         return count;
  23. }

  24. int main()
  25. {
  26.         int t1,t2,t3,t4,n,count;
  27.        
  28.         t1=7,t2=5,t3=6,t4=4,n=10;
  29.         count=fun(t1,t2,t3,t4,n);
  30.        
  31.         printf("总共可以听到%d次鞭炮声\n",count);
  32.         return 0;
  33. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-12-4 15:38:24 | 显示全部楼层
FishC 发表于 2024-12-4 14:49
在这个问题中,`fun`函数的循环条件是为了计算在给定的时间范围内,鞭炮响声的总次数。具体来说,`maxt`是 ...

for循环条件应该是i<=maxt,还是i<maxt?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-4 15:40:58 | 显示全部楼层
FishC 发表于 2024-12-4 15:38
在这个问题中,`for`循环的条件是为了遍历时间范围内的每一秒,检查是否有鞭炮响声。通常,`for`循环的 ...

但是这道题答案是i<maxt,这是为什么?如果每人放10次鞭炮,得出的结果应为28
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-1 11:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表