求有多少个数是这个数的约数
引入问题
给你一个长度为nnn的数组,对于里面每一个数求出数组里有多少个数是这个数的约数[除了这个数之外]
解决问题:
逆向思维去枚举质数。
acwing1293
#include <bits/stdc++.h>using namespace std;
const int N = 1e6 + 10;int prime[N], cnt;
int vis[N];
int num[N], a[N], s[N];void init(int n)
{prime[cnt ++] = 1;for(int i = 2; i <= n; ++ i){if(!vis[i]) prime[cnt ++] = i;for(int j = 0;j < cnt && i * prime[j] <= n; ++ j){vis[i * prime[j]] = true;if(i % prime[j] == 0) break;}}
}int main()
{int n;init(N - 1);cin >> n;for(int i = 0; i < n; ++ i) cin >> a[i], num[a[i]] ++;for(int i = 0; i < cnt; ++ i){int p = prime[i];for(int j = p; j <= N - 1; j += p)s[j] += num[p];}for(int i = 0; i < n; ++ i) cout << s[a[i]] - 1 << endl;return 0;
}
求有多少个数是这个数的约数相关推荐
- [算法] 求排列组合: 从n个数中任选m个数组成一个新数
#include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...
- 用c语言求1 n的素数个数 给出两种解法,【题目】求n以内的素数个数
最近在leetCode上刷提,还是满锻炼人的,为以后面试打基础吧.不多说下面开始. 问题:求[2,n]之间的素数的个数. 来源:leetCode OJ 提示: Let's start with a i ...
- 求一个数的因子个数/因子和/质因子 C/C++实现
求一个数的因子个数时间复杂度O√n ll get_number(ll x){ll num=0;for(ll i=1;i*i<=x;i++){if(x%i==0) num+=2; if(i*i== ...
- 求二叉树第K层的节点个数+求二叉树叶子节点的个数
size_t _FindLeafSize(Node* root) //求二叉树叶子节点的个数 { //static size_t count = 0; ...
- Coding:取若干个1到n的整数可求和等于整数m,求出所有组合的个数
要求 给定整数n,取若干个1到n的整数可求和等于整数m,编程求出所有组合的个数.比如当n=6,m=8时,有四种组合:[2,6], [3,5], [1,2,5], [1,3,4].限定n和m小于120. ...
- 求二进制数中1的个数
<<编程之美>>中有这么个题目:对于一个字节的无符号整形变量,求其二进制表达形式中"1"的个数. 基础算法:辗转相除法 辗转相除法是十进制采用的算法,该算法 ...
- 容斥原理应用(求1~r中有多少个数与n互素)
问题:求1~r中有多少个数与n互素. 对于这个问题由容斥原理,我们有3种写法,其实效率差不多.分别是:dfs,队列数组,位运算. 先说说位运算吧: 用二进制1,0来表示第几个素因子是否被用到,如m=3 ...
- 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告
励志用尽量少的代码做高效的表达. 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空 ...
- [蓝桥杯][2016年第七届真题]压缩变换(主席树求区间不同数的个数)
题目描述 小明最近在研究压缩算法. 他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比. 然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面 ...
最新文章
- NVIDIA与服务器制造商合作推进AI云计算
- Sql Server 2005自定义分页
- collections中的OrderedDict
- Elasticsearch之kopf插件安装之后的浏览详解
- android 每分钟广播,每1分钟Android发布一次警报管理器?
- 简述php三元运算符的使用,PHP 三元运算符的使用
- 不小心删除了系统的GRUB怎么办
- Redis性能基准测试
- 思岚科技受邀2018高交会 携多项“黑科技”亮相
- cw2vec:蚂蚁金服公开最新基于笔画的中文词向量算法
- java的swing案例
- 「网络流 24 题」负载平衡
- 一分钟学会清理垃圾运行命令
- spark数据查询语句select_Spark学习之Spark SQL
- 悟空问答如何高效引流,这几个技巧让你上首页
- mysql 节假日判断_sql 节假日判断(春节、中秋、国庆、周末等)
- Flutter FloatingActionButton 及仿闲鱼的发布按钮
- windows server 2016 开启多用户登陆
- HDU6656 2019 Multi-University Training Contest 7
- 工业互联网构筑第四次工业革命的基石
热门文章
- Python 为什么用 # 号作注释符?
- 这三所985,博士生毕业,不再要求发表论文!
- U平方Net:深入使用嵌套的U型结构进行显著目标检测
- 栈与队列6——生成最大窗口值数组
- [Linux]VI相关操作
- Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
- VMware Coding Challenge: Possible Scores Summary: static
- Lync server 2010部署及解决方案
- Something needs to be forgotten.
- uboot、kernel和rootfs烧录