0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 8
1

найти и напечатать в порядке убывания все простые числа из диапазона от 2 до 201

24.12.2015, 13:16. Показов 1157. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
найти и напечатать в порядке убывания все простые числа из диапазона от 2 до 201
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2015, 13:16
Ответы с готовыми решениями:

В порядке убывания напечатать все целые числа из диапазона 1 - 4900
Помогите написать программу. В порядке убывания напечатать все целые числа из диапазона 1..4900,...

В порядке убывания напечатать все целые числа из диапазона 1 . 100, которые можно представить в виде., где n, k - целые числа
В порядке убывания напечатать все целые числа из диапазона 1 .. 100, которые можно представить в...

Для целого числа найти и напечатать все простые множители в порядке их возрастания
Для целого числа М найти и напечатать все простые множители в порядке их возрастания. Одинаковые...

Напечатать все простые числа из диапазона [2;n]
Помогите пожалуйста. Дано целое n>2. Напечатать все простые числа из диапазона . в паскале

4
84 / 83 / 8
Регистрация: 31.03.2015
Сообщений: 447
24.12.2015, 16:33 2
Задача тривиальна, ищите ответ тут http://lisper.ru/pcl/loop-for-black-belts
Кликните здесь для просмотра всего текста
Подсказка
Lisp
1
(loop for i from -10 upto 32 do (print i))
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,605
Записей в блоге: 13
24.12.2015, 16:59 3
HomeLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(defun is-prime (n &optional (k 3))
  (cond ((= n 2) t)
        ((evenp n) nil)
        ((> k (sqr n)) t)
        ((zerop (% n k)) nil)
        (t (is-prime n (+ k 2))))) 
 
 
(defun task (n &optional (r nil))
  (cond ((< n 2) r)
        ((is-prime n) (task (- n 1) (cons n r)))
        (t (task (- n 1) r))))
  
==> task
 
(task 201)
 
==> (2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199)
Опс! Порядок не тот. Тогда так:

Lisp
1
2
3
4
5
6
7
8
9
10
(defun task (n &optional (k 2) (r nil))
  (cond ((> k n) r)
        ((is-prime k) (task n (+ k 1) (cons k r)))
        (t (task n (+ k 1) r))))
  
==> task
 
(task 201)
 
==> (199 197 193 191 181 179 173 167 163 157 151 149 139 137 131 127 113 109 107 103 101 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2)
2
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
24.12.2015, 17:05 4
Lisp
1
2
3
4
5
6
7
8
9
10
(defun primep (n)
  (loop for i from 2 to (isqrt n) never (zerop (rem n i))))
 
(defun reversed-primes (n m)
  (loop for a downfrom m to n when (primep a) collect a))
 
> (reversed-primes 2 201)
(199 197 193 191 181 179 173 167 163 157 151 149 139 137 131 127 113 109 107
 103 101 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3
 2)
2
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.12.2015, 22:23 5
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
;; racket-lang.org
(define prime-closure
  (let ((primes '(2))
        (current-prime 3))
    (lambda ()
      (unless (ormap (lambda (x) (= (remainder current-prime x) 0)) primes)
        (set! primes (cons current-prime primes)))
      (set! current-prime (+ 2 current-prime))
      primes)))
 
 
(define (foo n)
  (let ((primes (prime-closure)))
    (if (> (first primes) n)
        (rtest primes)
        (foo))))
Добавлено через 16 минут
а вот так всем не лисперам по бороде =))
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
;; racket-lang.org
(define prime-closure
  (let ((primes '(2))
        (current-prime 3))
    (lambda (#:reset (reset #f))
      (when reset
        (set! primes '(2))
        (set! current-prime 3))
      (unless (ormap (lambda (x) (= (remainder current-prime x) 0)) primes)
        (set! primes (cons current-prime primes)))
      (set! current-prime (+ 2 current-prime))
      primes)))
 
 
(define (foo n #:reset (reset #f))
  (let ((primes (prime-closure #:reset reset)))
    (if (> (first primes) n)
        (rest primes)
        (foo n))))
 
 
(define main
  (case-lambda
    (() (foo 21 #:reset #t))
    ((n) (foo n #:reset #t))
    (n n)))
 
(main)
(main 30)
;'(19 17 13 11 7 5 3 2)
;'(29 23 19 17 13 11 7 5 3 2)
2
24.12.2015, 22:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2015, 22:23
Помогаю со студенческими работами здесь

Напечатать все простые числа из диапазона [2,n]
Дано целое n&gt;2. Напечатать все простые числа из диапазона .Help please!

Напечатать все простые числа из диапазона [2,k]
Дано целое k&gt;2. Напечатать все простые числа из диапазона .

Напечатать все простые числа из диапазона [2, n].
Дано целое n &gt; 2. Напечатать все простые числа из диапазона .

Напечатать все простые числа из диапазона [2, n].
Дано целое п &gt; 2. Напечатать все простые числа из диапазона .


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru