L1-028. 判断素数】的更多相关文章

以前我在判断素数上一直只会 sqrt(n) 复杂度的方法和所谓的试除法(预处理出sqrt(n)以内的素数,再用它们来除). (当然筛选法对于判断一个数是否是素数复杂度太高) 现在我发现其实还有一种方法叫做费马小定理. 有关请见 http://baike.baidu.com/link?url=1BurQrmJP3j9QiD4OnA2X3TAbSSCPvTgbaqbo6qSQPVSuXLjVe-lL2SNi6N5wblwJFrIJs41pmDbCZ6z9je4h_ 代码如下: llg ch(llg…
package com.test; import java.math.*;import java.util.Scanner; public class test222 { /** * @param args * [程序2] 题目:判断101-200之间有多少个素数,并输出所有素数. * * 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除(i%/2==0), * * 则表明此数不是素数,反之是素数. * 注:  一个大于1的自然数,除了1和它本身外,不能被其他自…
刚接触filter时  运行总是出现<filter object at 0x000001B68F052828>  得不到想要的数据 后来发现是因为filter的结果是一个数组 需要 list 帮助 后来将print(f)  改为  print(list(f))  成功~ 代码:def fil(n): return n%2==1 f=filter(fil,range(100)) print(list(f)) 结果: 将100以内的奇数算出来了 练习:将100以内的素数求出 分析:什么是素数.即…
## Golang多核判断素数方式 package main import ( "bufio" "fmt" "os" "runtime" "strconv" "syscall" ) func main() { //开启真多核 runtime.GOMAXPROCS(runtime.NumCPU()) intchan := make(chan int, 10000) //向intchan内写…
题目描述 已知 n 个整数b1,b2,…,bn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和. 例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34. 现在,要求你计算出和为素数共有多少种. 例如上例,只有一种的和为素数:3+7+19=29. 输入 第一行两个整数:n , k (1<=n<=20,k<n) 第二行n个…
How many prime numbers Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12955    Accepted Submission(s): 4490 Problem Description   Give you a lot of positive integers, just to find out how many…
L1-028. 判断素数 本题的目标很简单,就是判断一个给定的正整数是否素数. 输入格式: 输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数. 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出“Yes”,否则输出“No”. 输入样例: 2 11 111 输出样例: Yes No #include<bits/stdc++.h> using namespace std; bool isprime (int a) { ) return…
java高效判断素数 package solution; public class Prime { // 偶数可以由有两个素数相加得到, 一个偶数可能有多个这样的两个素数, 请寻找到 这样两个素数,让这两个素数的差是其中最小的. public static void main(String[] args) { ,}; //22 3 19, 5 17 11 11 ); System.out.println( p+" --- --- ----"); ;j<N.length;j++)…
L1-028 判断素数 (10 point(s))   本题的目标很简单,就是判断一个给定的正整数是否素数. 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2​31​​的需要判断的正整数. 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No. 输入样例: 2 11 111 输出样例: Yes No 本题有3道坑点: 1不是素数 素数 :除了1和它本身以外不再被其他的除数整除 判断素数: 对于正整数n ,只需要从 2 开始到 根号…
package com.loaderman.Coding; /* 判断101-200之间有多少个素数(质数),并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数.*/ public class Test { public static void main(String[] args) { int count = 0; for (int i = 100; i < 200; i++) { for (int j = 2; j…
Goldbach's conjecture is one of the oldest unsolved problems in number theory and in all of mathematics. It states: Every even integer, greater than 2, can be expressed as the sum of two primes [1]. Now your task is to check whether this conjecture h…
题目链接: 题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 复习下Linux和Bash #!/bin/bash read n k= ;i<n;i++)) do b=$[ n%$i ] # echo $b ]];then k= fi done ]]; then echo "not prime" else echo "prime&…
来看这一种判断素数(质数)的函数: form math import sart def is_prime(n): if n==1: return False for i in range(2, int(sqrt(n) + 1)): if n % i == 0: return False return True 看起来,这是一种比较优秀的方法了,因为通过sqrt()函数减少了开方级的计算量. 再来看: def is_prime(number): if number > 1: if number =…
Goldbach's Conjecture Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 35214   Accepted: 13493 Description In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the following conject…
       题目 解决代码及点评 //编写一函数判断一个数是否为素数 #include<stdio.h> #include <stdlib.h> #include <math.h> void f61(int a ) {  if (a==0)  {   printf("%d不是素数!",a);  }  else if (a==1)  {   printf("%d不是素数!",a);  }  else  {…
参考文章:http://blog.csdn.net/kp_liu/article/details/37569507 http://blog.csdn.net/huang_miao_xin/article/details/51331710 https://www.zybang.com/question/93c4703c84c5ad3c1c34b1e6672b0568.html 素 数 --只能被1和它本身整除的数(除1以外,1既不是素数也不是合数) 现给出一个数N(N为正整数),编写方法判断其是否…
本题的目标很简单,就是判断一个给定的正整数是否素数. 输入格式: 输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数. 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出“Yes”,否则输出“No”. 输入样例: 2 11 111 输出样例: Yes No #include<cstdio> #include<cstring> #include<iostream> #include<cmath> u…
从2到x-1测试是否可以整除 int isPrime(int x); int main(int argc, char **argv) { int x; scanf("%d",&x); if(isPrime(x)){ printf("%d是素数\n",x); }else{ printf("%d不是素数\n",x); } ; } int isPrime(int x) { ; int i; ) ret=; ;i<x;i++){ ){ re…
一般 int main01() { ; scanf("%d", &a); n_sqrt = sqrt(a); ; i <= n_sqrt; i++) ) { flag = ; break; } if (flag) printf("%d is\n", a); else printf("%d not\n", a); system("pause"); ; } int main() { int a, n_sqrt,i;…
蛋疼的比赛,当天忘了做了,做的模拟,太久没怎么做题了,然后C题这么简单的思路却一直卡到死,期间看了下D然后随便猜了下,暴力了下就过了. A.找一个能被t整除的n位数,那么除了<=10以外,其他都可以用长度为n的10或100,1000 ... 来往上加几个数而得到 #include <iostream> #include <stdio.h> #include <set> #include <algorithm> #include <string.h…
D - Disjoint Set of Common Divisors Problem Statement Given are positive integers AA and BB. Let us choose some number of positive common divisors of AA and BB. Here, any two of the chosen divisors must be coprime. At most, how many divisors can we c…
这属于算法上的问题,好好考虑一下算法,还要考虑一下素数的定义. 素数是只有1和本身能整除的整数.所以在求素数的时候,要将素数与1到素数本身中间的所有整数都相除,看是否有整除的数,如果有,那肯定不是素数了.但是从算法上考虑,为了减少重复量,开平方后面的数就不用相除了,因为a/b(平方数)=c(小一点的数),同样a/c=b.举例说明: 25,开平方以后是5,那么整除2~5就可以了,如果有满足条件的,就是素数. 这样做可以减少循环次数,素数是因子为1和本身, 如果数c不是素数,则还有其他因子,其中的因…
判断一个数是不是素数 function isPrinme(n) { if(n == 0 || n==1){ return false; } if(n==2){ return true; } for(var i=2;i<Math.sqrt(n);i++){ if(n%i == 0){ return false; } } return true; } 输出n内的所有素数 function prinmeN(n) { var flag=0; var result=[]; if(n == 0 || n==…
首先显示1024范围内的所有素数,然后显示输入的数是否是素数.1024 是代码中计算的素数的范围,可以修改.计算平方根,是为了确定一个基数的范围.1024的平方根是32,两个超过32 的数相乘,肯定大于1024,所以基数的范围是2-32,倍数的范围是基数的倍数小于1024.思路是:把所有基数的所有倍数在BitArray里面的值设置为false,BitArray中为true的下标,即为素数. 1 public class BitArrayClass { public static void Fin…
package C; public class Sushu { public static void main(String[] args) { int sum=0; for (int i = 101; i < 201; i++) { for (int j = 2; j <=i; j++) { if(j==i) { System.out.println(j); } else if(i%j==0) { sum++; break; } } } System.out.println("总共…
#运用python的数学函数 import math def isPrime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True #单行程序扫描素数 from math import sqrt N = 100 [ p for p in range(2, N) if 0 not in [ p% d for d in range(2,…
我们首先看这样一个很简单的问题:判定正整数\(n\)是否为素数 最简单的做法就是枚举\(2\)到\(n\)的所有数,看是否有数是\(n\)的因数,时间复杂度\(O(n)\) 稍微优化一下发现只要枚举\(2\)到\(\sqrt{n}\)中的数就可以了 然后发现数据范围\(n\leq 10^{18}\),时间复杂度直接就死掉了QAQ 我们就要考虑新的方法了 首先引入两个定理 1.费马小定理 如果\(p\)是素数,且\(gcd(a,b)=1\),那么\(a^{p-1}\equiv 1(mod \ n)…
实验源代码: package sushu; import java.util.Scanner; public class First { int size=2; int data[]=new int[100]; int data1[]=new int[1000]; Scanner input=new Scanner(System.in); //界面 public void menu() { System.out.println(); System.out.println("1.输出3-100所有…
int i,n; scanf("%d",&n); i=2;   //这一步是亮点!! while(i<n) { if(n%i==0) break; i++; } if(i==n) printf("这是素数");…
A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is also a prime. Now given any two positive integers N (&…