下图第四题,编了一段代码,如果单独给a赋值可以输出结果,但是写循环就不能正常出,求解决orz
代码:
#include
int main()
{
long long int a, b, sum = 0, n = 0, i = 0; //2为白球,3为红球,5为黑球
for (a = 1; a <= 31250; a++)
{
for (b = a; b % 2 == 0 && n < 4; i++, n++, b /= 2);
for (n = 0; b % 3 == 0 && n < 3; i++, n++, b /= 3);
for (; b % 5 == 0 && i < 7; i++, n++, b /= 5);
if (i == 7)
{
sum++, b = a;
for (; b % 3 == 0; b /= 3)
printf("R ");
for (; b % 5 == 0; b /= 5)
printf("B ");
for (; b % 2 == 0; b /= 2)
printf("W ");
printf("W\n");
}
}
printf("%lld", sum);
}
有没有试过把这8个球放到数组里面取呢