首先,一个数+一个数只能统计一次,比如i=1,j=2时可以,那么i=2,j=1时答案一样不用统计,然后你数组不能用num[n+1],提前开好最大值。
by Hhggi @ 2022-08-18 11:43:44
第一 您的搜索第一层循环边界错了
第二 您的搜索的判断条件错了,应该开一新数组来体现出该数字时候是否被用过 、
第三 您的for循环写错了 应该为
```cpp
for(int i = 1 ; i < n ; i++)
for(int j = i + 1 ; j <= n ; j++)
for(int k = 1 ; k <= n ; k++)
```
下面是您的code我改了改ac的code
```cpp
#include<iostream>
using namespace std;
bool vis[10000010];
int main(){
int n,ans=0;
cin>>n;
int num[n+1];
for(int i=1;i<=n;i++) cin>>num[i];
for(int i=1;i<n;i++)
for(int a=i+1;a<=n;a++)
for(int b=1;b<=n;b++)
if(num[i]+num[a]==num[b] && vis[b]==false)
ans++ , vis[b] = true;
cout<<ans;
}
```
还有建议改改码风(这么写很难查错
by Bker_ @ 2022-08-18 12:11:31
@[HCGZS](/user/730477)
by Bker_ @ 2022-08-18 12:11:44
@[Hhggi](/user/182796) 懂了哈哈,不用用"您"
![https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6)
by HC_Lin @ 2022-08-18 18:09:32
@[Hhggi](/user/182796)
## 懂了
# Thanks
![https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fthumbs.gfycat.com%2FAccomplishedBelatedGarpike-max-1mb.gif&refer=http%3A%2F%2Fthumbs.gfycat.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1663409341&t=2e6199c879531f7cd19fb38ea4c67cc6)
by HC_Lin @ 2022-08-18 18:10:21