|
1鱼币
C++版本的是这个:
#include <iostream>#include<set>#include<algorithm>using namespace std;int main(){ set<long long>s; int a[200005]; long k; int n,sum=0; cin>>n>>k; s.clear(); for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); for(int m=0;m<n;m++) { if(s.count(a[m])==0) { sum++; s.insert(a[m]*k); } } cout<<sum; return 0;}C语言版本是这个:#include<stdio.h>#include<iostream>#include<algorithm>#include<set>using namespace std;#define MAXX 200005long long a[MAXX];int main(){ int n,k; while(~scanf("%d%d",&n,&k)) { set<long long>s; s.clear(); for(int i=0;i<n;i++) scanf("%lld",&a[i]); sort(a,a+n); int sum=0; for(int i=0;i<n;i++) { if(s.count(a[i])==0) { sum++; s.insert(a[i]*k); } } printf("%d\n",sum); } return 0;}这两个有什么区别啊?
|
最佳答案
查看完整内容
就是用printf替代cout,scanf替代cin
本质上都是C++ STL风格的程序,都不是C语言程序
|