2807:两倍
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。
比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
- 输入
- 一行,给出2到15个两两不同且小于100的正整数。最后用0表示输入结束。
- 输出
- 一个整数,即有多少个数对满足其中一个数是另一个数的两倍。
- 样例输入
1 4 3 2 9 7 18 22 0
- 样例输出
3
代码:#include<stdio.h>
#include<iostream>
using namespace std;
#include<string.h>
int main()
{
int a[],i,j,count=,len; //定义变量 count:计算两倍的数的个数 len:输入了多少个数 a[]存放输入的数字
int t=;
while ()
{
cin>>a[t];
t++;
if(a[t-]==)//如果输入为0,跳转去执行计数
{
len=t-;
goto flag; }
}
flag:
for(int k=;k<len;k++)
{
for(int j=;j<len;j++)
{ if(a[k]/a[j]==&&a[k]%a[j]==)//计算两倍
count=count+;
}
}
cout<<count<<endl;
return ;
}