【问题描述】给定n个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍,比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2的两倍,18是9的两倍。
【输入形式】输入数据一共两行,第一行包括一个整数n,表示有多少个正整数;第二行是由空格隔开的n个正整数(2<=n<30)
【样例输入】
9
36 55 46 38 10 18 33 35 99
【样例输出】
1
【样例说明】
36是18的两倍
思路:直接暴力,将每个数依次与所有的数进行比较倍数关系
#include <iostream>
using namespace std;int main()
{int n,a,j,k,x=0;cin>>n;int arr[n];for(int i=0; i<n; i++){cin>>arr[i];}for( j=0; j<n; j++){for( k=0; k<n; k++){if(arr[j]/arr[k]==2&&arr[j]%arr[k]==0)x=x+1;}}cout<<x;return 0;
}