@[bohemiao](/user/895614) 子任务3你可以推个类似方程的式子O(n),
```cpp
int sum = 0;
for (int i = 0; i <= n / 5; i ++) {
if ((n - 7 * i) < 0 || (n - 7 * i) % 4)
continue;
sum ++;
}
return sum;
```
子任务4不会
by Special_Tony @ 2024-04-23 21:37:06
好家伙,都是输入100,第一份代码输出493,第二份代码输出7,第三份代码输出4……
by Sin_Watt @ 2024-04-23 21:39:24
是恰好 $n$ 元买恰好 $n$ 鸡?
by Sin_Watt @ 2024-04-23 21:41:22
@[Sin_Watt](/user/883464) 对啊,我手懒,没写
by bohemiao @ 2024-04-23 21:42:42
先说一些。
第一份代码有很大问题,意义不对。
第二份代码注意int除法会向下取整。改为
```cpp
if(i*15+j*9+(n-i-j)== n * 3) ans++;
```
by Sin_Watt @ 2024-04-23 21:49:47
@[Sin_Watt](/user/883464) 代码输入100输出4,对吗?
by bohemiao @ 2024-04-23 21:52:37
a :公鸡
b :母鸡
c :小鸡
n :总数
有
$$
\begin{cases}
15a+9b+c=3n \\
a+b+c=n
\end{cases}
$$
即
$$
\begin{aligned}
15a+9b+c&=3a+3b+3c\\
12a+6b-2c&=0\\
6a+3b-c&=0\\
7a+4b&=0\\
\end{aligned}
$$
by Sin_Watt @ 2024-04-23 21:58:20
我觉得答案应为
$$\lfloor 2n/7 \rfloor-\lceil n/4 \rceil +1$$
列方程和扩欧推的。
by yangjinhua @ 2024-04-23 21:58:44
最后一个式子[可以](https://www.cnblogs.com/zinyy/p/9139102.html)
by Sin_Watt @ 2024-04-23 21:59:04
抱歉,打错了,应为
$$
7a+4b=n
$$
by Sin_Watt @ 2024-04-23 22:00:37