输入
输入包括多个测试用例。每个测试用例一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束,这个数不属于2~15个给定的正整数。输入的最后一行仅给出整数-1,该行表示测试用例的输入结束,不用处理
输出
对每个测试用例,输出一行,给出有多少对数满足其中一个数是另一个数的两倍
解析该题目包含多个测试用例,因此使用循环处理每个测试用例
#include<iostream>
using namespace std;
int main()
{
int i,j,n,count,a[20];
cin>>a[0];
while(a[0]!=-1){
n=1;
for(;;n++){
cin>>a[n];
if(a[n]==0)
break;
}
count=0;
for(i=0;i<n-1;i++){
for(j=1;j<n;j++){
if(a[i]*2==a[j]||a[j]*2==a[i])
count++;
}
}
cout<<count<<endl;
cin>>a[0];
}
return 0;
}