Loops/Increment loop index within loop body: Difference between revisions
Content added Content deleted
Catskill549 (talk | contribs) |
SantiagoPiM (talk | contribs) (=={{header|Common Lisp}}== Added Common Lisp) |
||
Line 1,099: | Line 1,099: | ||
n = 41 49,752,014,150,467 |
n = 41 49,752,014,150,467 |
||
n = 42 99,504,028,301,131 |
n = 42 99,504,028,301,131 |
||
</pre> |
|||
=={{header|Common Lisp}}== |
|||
<lang lisp> |
|||
(defun primep (n) ; https://stackoverflow.com/questions/15817350/ |
|||
(cond ((= 2 n) t) ; Hard-code "2 is a prime" |
|||
((= 3 n) t) ; Hard-code "3 is a prime" |
|||
((evenp n) nil) ; If we're looking at an even now, it's not a prime |
|||
(t ; If it is divisible by an odd number below its square root, it's not prime |
|||
(do* ((i 3 (incf i 2))) ; Initialize to 3 and increment by 2 on every loop |
|||
((or (> i (isqrt n)) ; Break condition index exceeds its square root |
|||
(zerop (mod n i))) ; Break condition it is divisible |
|||
(not (zerop (mod n i)))))))) ; Returns not divisible, aka prime |
|||
(do ((i 42) ; Initialize index to 42 |
|||
(c 0)) ; Initialize count of primes to 0 |
|||
((= c 42)) ; Break condition when there are 42 primes |
|||
(incf i) ; Increments index by unity |
|||
(if (primep2 i)(progn (incf c) ; If prime increment count of primes |
|||
(format t "~&~5<~d~;->~>~20<~:d~>" c i) ; Display count of primes found and the prime |
|||
(incf i (decf i))))) ; Increment index to previous index plus the prime |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
1 -> 43 |
|||
2 -> 89 |
|||
3 -> 179 |
|||
4 -> 359 |
|||
5 -> 719 |
|||
6 -> 1,439 |
|||
7 -> 2,879 |
|||
8 -> 5,779 |
|||
9 -> 11,579 |
|||
10 -> 23,159 |
|||
11 -> 46,327 |
|||
12 -> 92,657 |
|||
13 -> 185,323 |
|||
14 -> 370,661 |
|||
15 -> 741,337 |
|||
16 -> 1,482,707 |
|||
17 -> 2,965,421 |
|||
18 -> 5,930,887 |
|||
19 -> 11,861,791 |
|||
20 -> 23,723,597 |
|||
21 -> 47,447,201 |
|||
22 -> 94,894,427 |
|||
23 -> 189,788,857 |
|||
24 -> 379,577,741 |
|||
25 -> 759,155,483 |
|||
26 -> 1,518,310,967 |
|||
27 -> 3,036,621,941 |
|||
28 -> 6,073,243,889 |
|||
29 -> 12,146,487,779 |
|||
30 -> 24,292,975,649 |
|||
31 -> 48,585,951,311 |
|||
32 -> 97,171,902,629 |
|||
33 -> 194,343,805,267 |
|||
34 -> 388,687,610,539 |
|||
35 -> 777,375,221,081 |
|||
36 -> 1,554,750,442,183 |
|||
37 -> 3,109,500,884,389 |
|||
38 -> 6,219,001,768,781 |
|||
39 -> 12,438,003,537,571 |
|||
40 -> 24,876,007,075,181 |
|||
41 -> 49,752,014,150,467 |
|||
42 -> 99,504,028,301,131 |
|||
</pre> |
</pre> |
||