Wannafly挑戰賽9 A 找一找



判斷i是否可行即判斷2*i,3*i,4*i...是否存在。
注意,可能有值相同的情況,如有兩個i,
則若i滿足條件,ans+=2;

代碼:

#include<bits/stdc++.h>
using namespace std;
int mp[1000003];
int main()
{
int n;
while(~scanf("%d",&n))
{
memset(mp,0,sizeof(mp));
int i,j;
for(i=0; i<n; i++)
{
int x;
scanf("%d",&x);
mp[x]++;
}
int ans=0;
for(i=1; i<=1000000; i++)
{
if(mp[i])
{
for(j=i+i; j<=1000000; j+=i)
{
if(mp[j])
{
ans+=mp[i];
break;
}
}
}
}
printf("%d\n",ans);
}
return 0;
}



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com