【正经题解】珠心算测验
2024-02-22 15:12:54
发布于:浙江
11阅读
0回复
0点赞
思路是将这一组数据存入两个数组之中,用一个数组去重
使用的是简单的 循环和两个一维数组。
比如 这一串数字, 和 可以相加, 可以和 组合,以此类推。
题目的意思不仅仅是 和 算重复,就算是 和 也算是重复的情况请务必注意。
#include<iostream>
using namespace std;
int main()
{
int n,c,d,e=0;
cin>>n;
int a[n],b[n];
for (int i=1;i<=n;i++)
{
cin>>a[i];
b[i]=a[i];//将数据存储进ab这两个数组
}
for(int i=1;i<=n-1;++i)
{
c=a[i]; //读取数组a的数据
for(int j=i+1;j<=n;++j)
{
d=a[j]; //输出第2个存储在a的数据
for(int k=1;k<=n;++k)
{
if( b[k] == c+d) //读取之前存在数组b中的数
{
e++; //如果数字相加等于数组中的一个数
b[k] = 0; //将这个数字抹除,这一步相当于去重
}
}
}
}
cout<<e; //输出答案
return 0; //不要忘记
}
这里空空如也
有帮助,赞一个