找数字对
序号:#48 难度:一般 时间限制:1000ms 内存限制:10M
描述
有一串可能含重复数字的列表,例如 N = {4,13,5,6,35,85,3},对于任意 A ∈ N,B ∈ N, 使 A+B = 10 或 |A-B| = 10; 即两数之合为 10 或两数之差的绝对值为 10。
找出所有满足条件的数字对 {A,B} 的个数。(A, B的顺序与原始数组保持一致)
输入
一行文本由英文逗号分隔,如 6,4,16
输出
2
输入样例
4,13,5,6,35,85,3
13,3,6,8,12,4,45,56,66,16
6,4,16
输出样例
2
4
2
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a[10000],i=0,j,cnt=0,z;
char t;
cin>>a[i];
i++;
while(cin>>t)
{
cin>>a[i];
i++;
}
for(j=0;j<i;j++)
{
for(z=j+1;z<i;z++)
{
if((a[j]+a[z])==10||abs(a[j]-a[z])==10)
{
cnt++;
}
}
}
cout<<cnt<<endl;
return 0;
}