列表

详情


NC15076. 找一找

描述

给定n个正整数,请找出其中有多少个数x满足:在这n个数中存在数y=kx,其中k为大于1的整数

输入描述

第一行输入一个n
接下来一行输入n个正整数ai

输出描述

输出符合条件个数

示例1

输入:

5
1 2 3 4 5

输出:

2

说明:

5个数中1和2符合条件,1是后面每个数的因子,2是4的因子

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++11) 解法, 执行用时: 560ms, 内存消耗: 11024K, 提交时间: 2021-02-07 16:05:06

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int a[N],n,z,i,j,c;
int main()
{
	cin>>n;
	for(i=0;i<n;i++){cin>>z;a[z]++;}
	for(i=1;i<N;i++)if(a[i])for(j=i+i;j<N;j+=i)if(a[j]){c+=a[i];break;}
	cout<<c;
	return 0;
}

上一题