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相关推荐

  1. LeetCode 1175. 质数排列

    文章目录 1. 题目 2. 解题 1. 题目 请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上:你需要返回可能的方案总数. 让我们一起来回顾 ...

  2. 力扣1175.质数排列

    题目描述 请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上:你需要返回可能的方案总数. 让我们一起来回顾一下「质数」:质数一定是大于 1 的 ...

  3. F. 1.小W 的质数(prime)[欧拉筛再理解]

    Description 小X是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小X认为,质数是一切自然数起源的地方.  在小X的认知里,质数是除了本身和1以外,没有其他因数的数字.但 ...

  4. GO实现 回文质数 (Prime Palindromes)

    题目描述 因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,00 ...

  5. 求质数(Prime Number 素数)的方法——厄拉多塞筛法

    质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数.比1大但不是素数的数称为合数.1和0既非素数也非合数.合数 ...

  6. 质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。合数(Composite number)是与质数对应的概念,在大于1

    #include<bits/stdc++.h> using namespace std; int main() {     int x,flag=0;     cin>>x; ...

  7. 【原】斐波那契质数(Fibonacci Prime)详解

    Fibonacci数大家一定很熟悉了: Fibonacci质数的定义: 若某Fibonacci数与任何比它小的Fibonacci数互质,那么它就是Fibonacci质数. 但是哪些的Fibonacci ...

  8. 第四章 数学知识 质数相关

    1.质数判定 1. 问题解释 所谓质数判定,就是给定一个数,判断一下该数是否为质数. 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也 ...

  9. JAVA取质数(素数)算法优化

    质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数.也可以理解为:这个数与除1之外小于它的数取余不为0,则这个数为质数. 案例 我们在学 ...

  10. python3 随机数 质数 素数 文件操作

    最近工作有点忙 但还是每天坚持花了 三 四个小时学习了一下 python 不错 代码简洁 我很喜欢 还会继续....以前学过点java 相对来说还是比java 清晰 简结 但是语法上还是有点不适应: ...

最新文章

  1. Android——学习:线性布局权重分配
  2. jupyter 魔法函数
  3. java serializable 源码_Java源码分析之-Serializable接口
  4. 印度版的“大众点评”如何将 Food Feed 业务从 Redis 迁移到 Cassandra
  5. A sample that using the completion port I/O model
  6. 3-idiots HDU - 4609 FFT模板
  7. C/C++ 结构体成员在内存中的对齐规则(转载)
  8. Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)
  9. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06
  10. ESP32-CAM摸索经历1.0
  11. 注册电气工程师有多难考呢?注册电气工程师通过率是多少
  12. lucas–kanade_Lucas–Kanade光流算法
  13. DAZ3D STUDIO的保存设置
  14. 单片机红绿灯加强版(kile仿真程序和protues硬件仿真)
  15. 购买阿里云服务器ECS快速上云
  16. Centos7.4配置与管理DNS服务器
  17. Python面向对象—新旧式类,私有方法,类方法,静态方法
  18. UI控件之Button(按钮)和ImageButton(图像按钮)
  19. 0讲 | 原理图库绘制元器件
  20. Unity3d实现手动选择动态加载PPT文件并展示

热门文章

  1. 暗影精灵6触摸板驱动安装
  2. ROS学习之发布消息——Publisher_代码分析
  3. matlab画贝塞尔曲线给出图题,matlab练习程序(贝塞尔曲线)
  4. 新增电子信息专硕,中外合作办学!南京信息工程大学
  5. 2小时完成的第一个副业单子:Python修正excel表格数据
  6. 考研的意义---解读
  7. 云服务平台重构点 @Arthur @Gyb
  8. java-setBounds方法
  9. 如何清除计算机的u盘使用记录,如何清除U盘使用痕迹
  10. 北京自由职业艺术人才首评职称 不看身份看业绩