#include<stdio.h>
int main()
{
int arr[1000],i,count=0,num1,num2,jishuqi=0;
scanf("%d",&i);
for(;i!=0;count++)
{
arr[count]=i;
scanf("%d",&i);
}
for(num1=0;num1<=count;num1++)
{
for(num2=0;num2<=count;num2++)
{
if(arr[num1]==2*arr[num2]&&num1!=num2)
jishuqi++;
}
}
printf("%d",jishuqi);
return 0;
}
7-2 两倍 (100 分)
有若干个互不相同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。
比如1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
题目来自Mid-Central USA 2003的试题
输入格式:
只有一行,为用空格分隔的若干整数,这些整数除了最后一个数为0 外,其他均大于1且小于200。0为结束标志不参与统计。测试用例保证输入合法。
输出格式:
只有一个整数,即有多少个数对满足其中一个数是另一个数的两倍。
样例">输入样例:
1 4 3 2 9 7 18 22 0
输出样例:
3