甲乙丙丁4人同时开始放鞭炮,甲每隔t1s放一次,乙每隔t2s放一次,丙每隔t3s放一次,丁每隔t4s放一次,没人各放n次。函数fun的功能是根据形参炸响,只算一次响声,第一次响声是在第0s。例如,t1=7,t2=5,t3=6,t4=4,n=10,则可以听到28次鞭炮声。

甲乙丙丁4人同时开始放鞭炮,甲每隔t1s放一次,乙每隔t2s放一次,丙每隔t3s放一次,丁每隔t4s放一次,没人各放n次。函数fun的功能是根据形参炸响,只算一次响声,第一次响声是在第0s。例如,t1=7,t2=5,t3=6,t4=4,n=10,则可以听到28次鞭炮声。

 

 

#include <stdio.h>
#define OK(i, t, n) ((i%t==0) && (i/t<n))
int fun(int t1, int t2, int t3, int t4, int n)
{ int count, t , maxt=t1;
if (maxt < t2) maxt = t2;
if (maxt < t3) maxt = t3;
if (maxt < t4) maxt = t4;
count=1; /* 给count赋初值 */
for(t=1; t< maxt*(n-1); t++)
{
if(OK(t, t1, n) || OK(t, t2, n)|| OK(t, t3, n) || OK(t, t4, n) )
count++;
}
return count;
}
main()
{ int t1=7, t2=5, t3=6, t4=4, n=10, r;
r = fun(t1, t2, t3, t4, n);
printf("The sound : %d\n", r);
}

posted @ 2017-10-18 22:24  can丶  阅读(2909)  评论(0编辑  收藏  举报