LeetCode1175. 质数排列Prime Arrangements
By Jalan
文章目录
- **By Jalan**
- 知识工具需求
- 数学
- 题解
- 思路
- 编写用时
- 代码
- CPP
- 运行用时
- 结尾
知识工具需求
数学
质数验证
题解
思路
求素数然后求组合数的问题
很简单的题目,但是求素数这里水比较深
代码中的求素数方法是我在多种方案下验证int左右prime最快的方法,在longlong范围内也不会差米勒罗宾很多.
编写用时
10分钟
代码
CPP
class Solution
{public:int numPrimeArrangements( int n ){int primeCount = 0;int noPrimeCount = n;while ( n ) {if ( isPrime( n ) ) {primeCount++;}n--;}noPrimeCount = noPrimeCount - primeCount;long long a = 1, b = 1;while ( noPrimeCount ) {a = ( a * noPrimeCount ) % ( int )( 1e9 + 7 );noPrimeCount--;}while ( primeCount ) {b = ( b * primeCount ) % ( int )( 1e9 + 7 );primeCount--;}return ( a * b ) % ( int )( 1e9 + 7 );}bool isPrime( int num ){{if ( num == 1 ) {return 0;}//两个较小数另外处理if ( num == 2 || num == 3 )return 1;//这部分的处理其实最好在函数外面完成}//不在6的倍数两侧的一定不是质数if ( num % 6 != 1 && num % 6 != 5 )return 0;int tmp = sqrt( num );//在6的倍数两侧的也可能不是质数for ( int i = 5; i <= tmp; i += 6 )if ( num % i == 0 || num % ( i + 2 ) == 0 )return 0;//在6两侧的数可能本身是有倍数关系的,需要检测能否被从5开始的6的两侧的数整除//排除所有,剩余的是质数return 1;}
};
运行用时
结尾
看在我写了这么多注释的份上可以给我点个赞嘛,求求惹=]砰砰砰,给我加点写下去的油呀
@.@
也欢迎关注我的CSDN账号呀=]
**开心code每一天**
LeetCode1175. 质数排列Prime Arrangements相关推荐
- LeetCode 1175. 质数排列
文章目录 1. 题目 2. 解题 1. 题目 请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上:你需要返回可能的方案总数. 让我们一起来回顾 ...
- 力扣1175.质数排列
题目描述 请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上:你需要返回可能的方案总数. 让我们一起来回顾一下「质数」:质数一定是大于 1 的 ...
- F. 1.小W 的质数(prime)[欧拉筛再理解]
Description 小X是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小X认为,质数是一切自然数起源的地方. 在小X的认知里,质数是除了本身和1以外,没有其他因数的数字.但 ...
- GO实现 回文质数 (Prime Palindromes)
题目描述 因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,00 ...
- 求质数(Prime Number 素数)的方法——厄拉多塞筛法
质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数.1和0既非素数也非合数.合数 ...
- 质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。合数(Composite number)是与质数对应的概念,在大于1
#include<bits/stdc++.h> using namespace std; int main() { int x,flag=0; cin>>x; ...
- 【原】斐波那契质数(Fibonacci Prime)详解
Fibonacci数大家一定很熟悉了: Fibonacci质数的定义: 若某Fibonacci数与任何比它小的Fibonacci数互质,那么它就是Fibonacci质数. 但是哪些的Fibonacci ...
- 第四章 数学知识 质数相关
1.质数判定 1. 问题解释 所谓质数判定,就是给定一个数,判断一下该数是否为质数. 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也 ...
- JAVA取质数(素数)算法优化
质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数.也可以理解为:这个数与除1之外小于它的数取余不为0,则这个数为质数. 案例 我们在学 ...
- python3 随机数 质数 素数 文件操作
最近工作有点忙 但还是每天坚持花了 三 四个小时学习了一下 python 不错 代码简洁 我很喜欢 还会继续....以前学过点java 相对来说还是比java 清晰 简结 但是语法上还是有点不适应: ...
最新文章
- Android——学习:线性布局权重分配
- jupyter 魔法函数
- java serializable 源码_Java源码分析之-Serializable接口
- 印度版的“大众点评”如何将 Food Feed 业务从 Redis 迁移到 Cassandra
- A sample that using the completion port I/O model
- 3-idiots HDU - 4609 FFT模板
- C/C++ 结构体成员在内存中的对齐规则(转载)
- Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)
- linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06
- ESP32-CAM摸索经历1.0
- 注册电气工程师有多难考呢?注册电气工程师通过率是多少
- lucas–kanade_Lucas–Kanade光流算法
- DAZ3D STUDIO的保存设置
- 单片机红绿灯加强版(kile仿真程序和protues硬件仿真)
- 购买阿里云服务器ECS快速上云
- Centos7.4配置与管理DNS服务器
- Python面向对象—新旧式类,私有方法,类方法,静态方法
- UI控件之Button(按钮)和ImageButton(图像按钮)
- 0讲 | 原理图库绘制元器件
- Unity3d实现手动选择动态加载PPT文件并展示