求第n个质数】的更多相关文章

之前在做求1000以内的质数的时候,我们一般能想到的就是从3~(根号)no,逐一和no除,如果存在某个i使得  i|no成立的话,说明no不是质数(“i|no”是i整除除no的意思): 在<明解c语言>上看到了一种与相似,但运算次数比其还少的. #include <stdio.h> int main(void) { int i,no; ]; ; unsigned ; prime[ptr++]=; //这里是prime[0]=2,然后ptr再加加 prime[ptr++]=; ;no…
php实现求一个数的质数因子 一.总结 一句话总结:这么简单的题目,还是把变量定义的位置和自增的位置写错. 1 <?php 2 $num=trim(fgets(STDIN)); 3 //如果$num大于1 4 $i=2; 5 while($num>1){ 6 while($num%$i==0){ 7 echo $i.' '; 8 $num=$num/$i; 9 } 10 $i++; 11 } 12 13 ?> 二.质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质…
思路: 1.(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数2.除了2的偶数都不是质数代码如下: /** * 求n内的质数 * @param int $n * @return array */ function get_prime($n) { $prime = array(2);//2为质数 for ($i = 3; $i <= $n; $i += 2) {//偶数不是质数,步长可以加大 $sqrt = intval(sqrt($i));//求根号n for ($j = 3;…
输入一个不超过 10000 的正整数 n,求第n个质数 样例输入 10 样例输出 29 题目地址 #include<stdio.h> #include<math.h> int xxx(int n){ ; float a = sqrt(n); ;i <= a;i++){ ) flag = -; } ) ;//不是素数 else ; } int main(){ int n; scanf("%d",&n); ; while(n){ if(xxx(c))…
用python求从1开始第1000个质数? 质数:只能被1和它本身整除的数.那好,我们开始写程序(一个小算法). def calc_prime(prime,num): i,gab=7,2 while num>3: flag=True for x in prime: if x*x>i: break if i%x==0: flag=False break if flag: prime.append(i) if len(prime)>=num: break gab=6-gab i+=gab r…
using System;namespace Loops{ class Program { static void Main(string[] args) { /*局部变量定义*/ int i, j; for (i = 2; i < 100; i++) { for (j = 2; j <= i / j; j++) if ((i % j) == 0) break;//如果找到,则不是质数 if (j > (i / j)) Console.WriteLine("{0} 是质数 /n…
质数的概念: 简单的来说就是一个数从2开始取模到(求余数)自身的值,如果取模后余数一直不等于0那么这个数就是质数(素数). 如 7     7%2    7%3    7%4    7%5   7%6  余数一直都不等于0    一直到7%7余数才为0:所以7是质数: 如 8   8%2余数直接为0:所以8不是质数: 如 9  9%2   9%3余数为0:所以8也不是质数: 下面直接上代码: package pkg1;//包名public class Test{//类名(注!该类名必须与文件名一…
//这是求一个数的质因数,例如:12=2*2*3 其中2,3都是质数.function primeArray(n, array) { array = new Array(); for (var i = 2; i < n; i++) { //是否为质数 if (isPrime(i)) { var temp_R = n % i;//余数 var temp_c = n / i;//商 //是否整除 if (temp_R == 0) { // array[array.length] = i; array…
题意:给定n求,有n个因子的最小正整数. 题解:水题,zcr都会,我就不说什么了. 因数个数球求法应该知道,将m分解质因数,然后发现 a1^p1*a2^p2....an^pn这样一个式子, (1+p1)*(1+p2)*...=n,然后用小的质数填坑. #include <bits/stdc++.h> using namespace std; ,,,,,,,,,,,,,,,,}; ], res[], tmp[]; ], mn=DBL_MAX; void input() { scanf("…
public class 求质数 { public static void main(String[] args) { for (int i = 2; i < 100; i++) { int temp = 0; for (int j = 2; j < i; j++) { if (i % j == 0) { temp = 1; } } if (temp != 1) { System.out.println(i); } } } }…