给定 N个数,其大小范围为 [-10,+10]。在这 N个数中任取 2个数的和为 0的方案数有多少种。
1条回答 默认 最新
CSDN专家-天际的海浪 2021-07-11 23:12关注你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#include <stdio.h> int main() { int n; scanf("%d",&n); int a[n], c = 0; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if (a[i] + a[j] == 0) c++; } } printf("%d", c); return 0; }
用桶算法
#include <stdio.h> int main() { int n; scanf("%d",&n); int m, c = 0; int t[21] = {0}; for (int i = 0; i < n; i++) { scanf("%d", &m); c += t[10-m]; t[m+10]++; } printf("%d", c); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用