这个k-集合没有两个元素有k倍的关系。
要用set来做。
不断尝试添加新元素:符合条件就把他放到set中。
最后输出set的长度。
代码:
#include<iostream>
#include<set>
using namespace std;
set<long long> a,b;//可能越界
int main(){
long long n,k,x;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>x;
a.insert(x);输入
}
for(auto y:a){
if(y%k!=0||(y%k==0&&b.count(y/k)==0)){判断x,y有没有k倍关系。
b.insert(y);
}
}
cout<<b.size();输出长度
return 0;
}