你那样判断的逻辑上有错。
#include
using namespace std;
int main()
{
int sum,count=21,b,c;
sum = 21; //以C每隔7s放一个鞭炮计算;
for (b=1; b
if ((b*6) % 7 != 0)
{
sum++;
}
}
for (c=1; c
if(((c*5) % 7 != 0) && ((c*5) % 6 != 0))
{
sum++;
}
}
cout<
}
实际上就是求三个数的最小公倍数
#include
using namespace std;
int multiple(int a,int b)//remember small number before
{
int c=a*b;
while(0!=b)
{
int t=b%a;
a=b;
b=t;
}
return c/a;
}
int nummul(int a,int b)//remember small number before
{
int num=1,c=multiple(a,b);
for(int i=2;c<=a*20;i++)
{
num++;
c=multiple(a,b);c*=i;
}
return num;
}
int main()
{
int num=21*3;
int c;
c=
nummul(5,6)+
nummul(5,7)+
nummul(6,7)-
2*nummul(7,multiple(5,6));
num-=c;
cout<<"sound "<
}