马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 跑不掉 于 2024-12-4 16:45 编辑
四个人同时放鞭炮,甲每t1秒放一次,乙每t2秒放一次,丙每t3秒放一次,丁每t4秒放一次
,每人各放n次,求总共听到多少次鞭炮声,当几个鞭炮同时炸响,只算一次响声,第一次响声在第0秒。
我的问题是:为什么,fun函数里的for循环条件是i<maxt而不是i<=maxt???
#include <stdio.h>
int fun(int t1,int t2,int t3,int t4,int n)
{
int count,i,maxt;
count=1;
maxt=(t1>t2)? t1:t2;
maxt=(maxt>t3)? maxt:t3;
maxt=(maxt>t4)? maxt:t4;
maxt=maxt*(n-1);
for(i=1;i<maxt;i++)
{
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))
{
count++;
}
}
return count;
}
int main()
{
int t1,t2,t3,t4,n,count;
t1=7,t2=5,t3=6,t4=4,n=10;
count=fun(t1,t2,t3,t4,n);
printf("总共可以听到%d次鞭炮声\n",count);
return 0;
}
|