isprime_判断质数】的更多相关文章

判断质数的方法有很多,首先是最简单的试除法,判断n以内的质数的话时间复杂度为n*sqrt(n)当然是很慢的了 下面提供三种判断质数的方法: 首先是跑5051ms的这个是埃拉托斯特尼筛法 且不加优化 核心质数的倍数一定不是质数 #include<iostream> #include<cmath> #include<cstdio> #include<iomanip> #include<algorithm> #include<ctime>…
质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 目前学习了判断数字n是否为质数的2种基本方法: 一.计数法 根据定义,既然质数只能够被1和他本身整除.我们可以统计出1到n范围内的整数,能够整除n的个数.再判断这个个数是否等于2就可以知道n是不是质数. 代码如下:             int n = int.Parse(Console.ReadLine()); ;            int sum = 0;      …
好久没写了,今天做题有点忘了,不会写了.重新做了一份,整理出来. import java.util.Scanner; public class 判断质数 { public static boolean isPrimeNumber(int num){ if(num==2)return true; if(num<2||num%2==0)return false; for(int i=3;i<=Math.sqrt(num);i+=2){ if(num%i==0){ return false; } }…
question:分拆素数和 思路: 1.首先从1一直遍历到数据的1/2位置(因为后面的会和前面的重复),因为是要两个数,所以另一个数就是原数据减去遍历的数字(即i 和data-i),如果二者同时为质数的话,分拆方法计数器就加一,最后输出计数器即可 2.关于如何判断质数,其实就是找约数,数本身不用管,如果其余约数只有1.则为质数,最笨的方法就是从1到数据大小的遍历,这样太费时间 关于优化: a.首先偶数不可能为质数,先一步排除 b.然后遍历的时候上限为该数的平方根(具体原因不记得了/捂脸) c.…
要求:重复让用户输入输入一个数,判断该数是否质数,当输入“q”时,程序运行结束!(质数的判断要求用方法来实现). class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数:"); string numberString = Console.ReadLine(); while (numberString != "q") { int numberInt = Convert.To…
/** * 描述:任意输入两个数n,m(n<m)判断n-m之间有多少个素数,并输出所有素数. * 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数. * 判断素数的方法为:用一个数分别去除2到sqrt(这个数),如果能被整除,这表明此数不是素数,反之是素数. * 作者:徐守威 */ package com.xushouwei; import java.util.*; public class T2 { /** * @param args */ public static void ma…
package day01; //输出1-100中质数,并且每十个换行 public class PrimeNum { public static void main(String[] args) { //并非一次判断用开关 int count = 0; for(int i = 2 ; i <= 100;i++) { boolean flag = true; //1.假设是质数 for(int j = 2; j <= (int)Math.sqrt(i); j++) { //Math.squar…
""" for 变量 in 容器: 遍历--break 如果执行到了break语句, 则else不会被执行 else: break语句没有被执行时, 执行else """ # 通过键盘输入一个数字, 判断这个数字是不是一个质数 # 举个栗子: 判断8是不是一个质数, 8除以1-7的所有数字, 如果除以每个数字都有余数, 说明就是一个质数 num = int(input('请输入一个整数')) for n in range(2, num): # 获…
今天学校OJ的一题判断是质数和合数. 首先我们要弄明白质数和合数的概念:质数就是除了本身和1以外没有其他因数的数,合数就是除了本身和1以外还有其他因数的数.注意:1既不是质数也不是合数. 明白了概念,下面在考虑题目本身. 1.输入 :输入待判断的数n.(额外要求 2<=n<10000,且可连续输入). 2.输出:质数:'Yes' ,合数:'No'. 那么如何判断是否为质数和合数呢? 质数就是除了本身和1以外没有其他因数的数. 那么就只用遍历2~n-1中的数,让他们逐个与n取余.只要其中一个数可…
只能被自己或者1整除的数为质数 num = int(input('请输入一个数:')) if num > 1: # 查看因子 for i in range(2, num): if (num % i) == 0: print(num, "不是质素") print(i, "乘以", num // i, "是", num) break else: print(num, "是质素") # 如果输入的数字小于或等于 1,不是质素…