想用c语言解出这道题,初学者码不来代码。请大神帮帮忙

2025-04-26 17:03:30
推荐回答(5个)
回答1:

分析题目

1个1个拿,正好拿完。这个是废话 不用管

2个2个拿,还剩1个。奇数

3个3个拿,正好拿完。3的倍数

4个4个拿,还剩1个。模除4余1

5个5个拿,还差1个。模除5余4

6个6个拿,还剩3个。模除6余3

7个7个拿,正好拿完。7的倍数

8个8个拿,还剩1个。模除8余1

9个9个拿,正好拿完。9的倍数。 

于是 综合起来就是 63的奇数倍,模除4余1,模除5余4,模除6余3,模除8余1

遍历。 

#include 
int main()
{
    int i,j;
    for(i = 1; ;i += 2)
    {
        j = i*63;
        if(j%4==1 && j%5 == 4 && j %6==3 && j%8==1)
            break;
    }
    printf("%d\n",j);
    return 0;
    
}

计算结果 1449个

回答2:

#include
int main(void)
{
int a;

for (a = 0;a < 1000;a++)
if (a % 1 == 0 && a % 2 == 1 && a % 3 == 0 && a % 4 == 1 && a % 5 == 1 && a % 6 == 3 && a % 7 == 0 && a % 8 == 1 && a % 9 == 0) {
printf("%d\n", a);
break;
}

return 0;
}

回答3:

用for循环测试:
for(i = 1; i <= 自己设定; i++)
if(i%2==1 && i%3==0 && i%4==1 && i%5==4 && i%6==3 && i%7==0 && i%8==1 && i%9==0)
print i
其中i%5差1表示余数为4

回答4:

369个

回答5: