- 珠心算测验
思路代码
- 2025-1-24 9:40:36 @
/*
1,整理这个题目中所有关键的变量和信息
n 正整数的个数 各个不相同
int arr[105]; 装各个数的数组
int brr[10005];统计可能出现的和
2,题目给的样例的运算逻辑,
用表达式或者伪代码表示出来
其中有多少个数,
恰好等于集合中另外两个(不同的)数之和?
5
1 2 3 4 5
能找到答案的2 1+2=3 1+3=4 2+3=5 1+4 =5
输入完所有数字以后 去算所有的可能性 做统计
一定要去考虑数组下标的界限
*/
#include <bits/stdc++.h>
using namespace std;
int arr[105],brr[10005];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>arr[i];
//去计算所有的可能性 1000W
for(int i=1;i<n;i++){ //前面一个数
for(int j=i+1;j<=n;j++){//后面一个数
if(arr[i]+arr[j] >10000) continue;
brr[arr[i]+arr[j]] = 1;
}
}
// for(int i=1;i<=10000;i++){
// if(brr[i]==1){ //如果被加出来过就输出
// cout<<i<<" ";
// }
// }
int cnt=0;
for(int i=1;i<=n;i++){ //看arr里面的数 是否是加出来的和
if(brr[arr[i]]==1) cnt++;
}
cout <<cnt;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 188
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 23
- 已通过
- 14
- 上传者