LC.1175. Prime Arrangements
两种筛法做质数筛选
class Solution(object):def numPrimeArrangements(self, n):"""朴素筛法, 又叫埃氏筛法, 时间复杂度O(nlogn)线性筛法, 又叫欧拉筛法, 时间复杂度O(n)"""def native_filter1(n):"""没有优化的朴素筛法,两层for循环"""count = 0array = [False for i in range(n+1)]array[1] = Truefor i in range(2, n//2+1):for j in range(2, n//2+1):if i * j > n:breakarray[i*j] = Truefor i in range(1, len(array)):if not array[i]:count += 1return countdef native_filter2(n):"""简单优化的朴素筛法,第二层循环可以不用从2开始, 直接筛i的倍数即可, 另外避免使用乘法"""count = 0array = [False for i in range(n+1)]array[1] = Truefor i in range(2, n//2+1):for j in range(i*2, n+1, i): # 等价于 i* karray[j] = Truefor i in range(1, len(array)):if not array[i]:count += 1return countdef Eluer_filter(n):"""欧拉筛法, 每次用质数因子去筛,即当前的如果是合数的话就不用该数作为因子,因为以它作为因子得到的数之前肯定也能得到"""count = 0array = [False for i in range(n + 1)]array[1] = Trueindex = 2while index < len(array):if array[index]:index += 1continuefor i in range(index * 2, n + 1, index):array[i] = Trueindex += 1for i in range(1, len(array)):if not array[i]:count += 1return countdef fac(n):return 1 if n <= 1 else n * fac(n-1)prime = Eluer_filter(n)non_prime = n - primereturn (fac(prime) * fac(non_prime)) % (pow(10, 9) + 7)
LC.1175. Prime Arrangements相关推荐
- qduoj LC and Prime
LC and Prime 发布时间: 2015年9月19日 21:42 时间限制: 1000ms 内存限制: 32M 描述 Given a number n, please count how ...
- ccf 最优灌溉(prime模板)
模板题 #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f int lowcost[1010]; int ...
- usaco Prime Palindromes
新技能get,可以这样遍历回文数,的确厉害.注意剪枝不然超时. /* ID: jinbo wu LANG:C++ TASK: pprime */ #include <stdio.h> #i ...
- ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime
题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...
- Prime Path(bfs)广度优先搜索
题目描述 The ministers of the cabinet were quite upset by the message from the Chief of Security stating ...
- F - Prime Path POJ - 3126
F - Prime Path POJ - 3126 题意修改一个四位数质数的某一位,使得该质数又变为一个质数,求从当前数变为目标质数的最少变化次数. bfs枚举每一位的每种变化 #include< ...
- 小白都能看懂最小生成树prime算法
定义不多说,说说代码的实现. 用落谷上的题目来说明代码的正确性 落谷上的题目 邻接矩阵的实现 定义一个生成树点的集合A,和图中其他点 的集合B 先任意选择一个点a加入到A中,即visit[a]=tru ...
- Codeforces Beta Round #92 (Div. 1 Only) A. Prime Permutation 暴力
A. Prime Permutation 题目连接: http://www.codeforces.com/contest/123/problem/A Description You are given ...
- 【原创】CGAL中,2D Arrangements学习笔记
2D Arrangement类型简介: 给定一组平面曲线,2D Arrangement能够将这组曲线所组成的图形细分成顶点.边和面这些最基本的几何单位.其中给定的曲线能够相互相交,甚至能自相交.其组成 ...
- Error Code: 1175. You are using safe update mode and you tried to ......
MySQL提示的错误信息: Error Code: 1175. You are using safe update mode and you tried to update a table witho ...
最新文章
- 面向对象【day08】:类的特殊成员(一)
- AngularJS表单验证
- Qt学习(三):事件、定时器、事件过滤器
- 机器学习模型开发必读:开源数据库最全盘点
- python图片显示中文
- 针对IE的CSS hack 全面 实用
- 学校校车运营各项安全管理制度_廊坊市加强校车安全管理 确保师生生命安全...
- extjs4 grid 刷新数据时不改变滚动条位置
- PaddlePaddle(2)——数据获取与处理(以CV任务为主)
- vscode过滤pyc文件
- vm12下载安装centos7教程
- java自动化测试面试题_自动化测试面试题
- 天思经理人ERP日化行业应用方案
- Python实现屏幕取色器功能
- DELMIA软件:机器人固定点焊仿真
- 苹果手机 计算机 错误,苹果手机的计算器连1+2+3都算不对!原因太尴尬!
- 阿里巴巴Java开发规范手册(详尽版)——免费下载
- 对YOLO bounding box的理解
- matlab相关值计算公式,相关系数计算公式(Correlation coefficient calculation formula).doc...
- CSS——字体图标、平面转换、缩放