题目:Count Primes 统计1-n的素数的个数。 思路1: 通常的思想就是遍历(0,n)范围内的所有数,对每个数i再遍历(0,sqrt(i)),每个除一遍来判断是否为素数,这样时间复杂度为O(n*sqrt(n))。 具体实现不在贴代码,过程很简单,两重循环就可以解决。但是效率很差,n较大时甚 ...
分类:
其他好文 时间:
2017-04-28 23:49:30
阅读次数:
391
1.21 简单的将书上代码敲了一遍。 非常顺利就过了。 1.22 就悲剧了。 先按书本的意思。代码非常快就写完了。但计算的时间在机子上漂浮不定。 3-5倍之间。 代码例如以下: (define (search-for-primes start end count) (define (timed-pr ...
分类:
其他好文 时间:
2017-04-26 10:09:40
阅读次数:
114
17.4.25 WRONG ANSWERS public class Solution { public int nthSuperUglyNumber(int n, int[] primes) { int len = primes.length; int[] pw = new int[len];// ...
分类:
其他好文 时间:
2017-04-25 22:16:59
阅读次数:
115
题意:选择k(k<15)个唯一质数,求出和为n(n<1121)的可能数 题解:预处理dp,dp[k][n]表示使用k个素数拼成n的总方案数 就是三重枚举,枚举k,枚举n,枚举小于n的素数 但是注意三重循环的顺序与位置,我们要防重防漏 第一重循环是枚举每个小于n的素数,思路是对于每个素数放入dp里面的 ...
分类:
其他好文 时间:
2017-04-12 23:03:51
阅读次数:
159
Description: Count the number of prime numbers less than a non-negative number, n. 找出小于n的素数个数。 1、用最淳朴的算法果然超时了。 2、埃拉托斯特尼筛法Sieve of Eratosthenes 我们从2开始遍 ...
分类:
编程语言 时间:
2017-03-24 19:05:11
阅读次数:
176
printPrimes(): public static String printPrimes(int n){ int max=100; int curPrime; int numPrimes; boolean isPrime; String result = ""; int [] primes = ...
分类:
其他好文 时间:
2017-03-15 00:22:00
阅读次数:
135
int curPrime; // Value currently considered for primeness 8. int numPrimes; // Number of primes found so far. 9. boolean isPrime; // Is curPrime prime ...
分类:
其他好文 时间:
2017-03-14 21:09:40
阅读次数:
194
a) b)若MAXPRIMES为2,则t2在primes[numPrimes]=curPrime(即上图节点8)处会发生访问非法内存的错误,因为n=5时质数有2,3,5.但t1不会出错,因为n=3时质数只有2,3. c)t=(n=1). d)点覆盖:{0,1,2,3,4,5,6,7,8,9,10,1 ...
分类:
其他好文 时间:
2017-03-14 18:53:23
阅读次数:
169
一、代码部分: 代码分析:printPrimes()方法输出质数,用户传递参数n到printPrimes()方法,该方法将会输出从2开始的n个质数。其中,MAXPRIMES规定数组primes的大小,n的值应该小于等于MAXPRIMES。 在书中给出的代码部分,需要我们自己补充部分代码。MAXPRI ...
分类:
其他好文 时间:
2017-03-14 13:24:35
阅读次数:
392
1.回答书上63-64页printPrimes()问题a-d: a:本题控制流图如下图1所示 为查看方便,利用图2进行答题 图1 图2 b: 我们注意到代码第十行有int [] primes = new int [MAXPRIMES] 若在程序中设置MAXPRIMES = 4,那么当运行t1时不会出 ...
分类:
其他好文 时间:
2017-03-14 10:44:12
阅读次数:
300