Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.12.2017
Сообщений: 14
1

Написать функцию, считывающую числа до тех пор, пока их сумма не станет больше некоторого заданного N

17.05.2021, 17:20. Показов 1420. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать функцию, считывающую числа до тех пор, пока их сумма не станет больше некоторого заданного N (без использования рекурсии, в функции должен быть только один аргумент).
Желательно, чтобы в коде был "print" для онлайн редакторов лиспа)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2021, 17:20
Ответы с готовыми решениями:

Заполнить массив от 1 до 9 до тех пор, пока их сумма не станет больше заранее заданного числа М
1)Заполнить массив от 1 до 9 до тех пор, пока их сумма не станет больше заранее заданного числа М. ...

Заполнить массив случайными числами от 1 до 9 до тех пор пока их четная сумма не станет больше заданного М
2)Заполнить массив случайными числами от 1 до 9 до тех пор пока их четная сумма не станет больше...

Вводить положительные числа до тех пор, пока сумма их произведений не станет больше 10000
Вводить положительные числа в переменные a и b до тех пор, пока сумма произведений вводимых чисел...

Вводить числа до тех пор, пока их сумма не станет больше 100. Эту сумму и число слагаемых вывести на экран
1)Составить программу, которая вводит с клавиатуры целые числа до тех пор, пока их сумма не станет...

3
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,650
Записей в блоге: 13
17.05.2021, 23:47 2
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
(defun read-to-n (n)
  (let ((sum 0) (a 0))
    (loop (setq sum (+ sum (read))) 
          (when (> sum n) (return sum)))))
 
(read-to-n 123)
12
34
67
14
 
==> 127
Ах, здесь нет print... Тогда:

Lisp
1
2
3
4
5
6
7
(defun read-to-n (n)
  (let ((sum 0) (a 0))
    (loop (setq sum (+ sum (read))) 
          (print sum)
          (when (> sum n) (return sum)))))
 
(read-to-n 123)
Ввод:

12
34
56
78
910

Вывод:

12
46
102
180
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,650
Записей в блоге: 13
18.05.2021, 13:59 3
Лучший ответ Сообщение было отмечено rdevil23 как решение

Решение

Еще раз:

Lisp
1
2
3
4
5
6
7
(defun read-to-n (n)
  (let ((sum 0) (a 0))
    (loop (setq sum (+ sum (read))) 
          (format t "sum=~D" sum)(terpri)
          (when (> sum n) (return sum))) (print 'OK)))
 
(read-to-n 123)
Вложения
Тип файла: mp4 2021-05-18 14-55-26.mp4 (1.50 Мб, 9 просмотров)
2
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
18.05.2021, 19:31 4
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun read-up-sum-n (n)
  (loop with a = 0 do (setf a (+ a (read)))
        (format t "~a~%" a) until (> a n)))
 
> (read-up-sum-n 200)
59
59
47
106
81
187
25
212
NIL
1
18.05.2021, 19:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2021, 19:31
Помогаю со студенческими работами здесь

While и repeat. Вводить числа до тех пор пока произведение четных не станет больше 20
вводить числа до тех пор пока произведение четных не станет больше 20. Решить двумя способами, на...

ввод чисел и суммирование их до тех пор пока сумма не превысит некоторого заданного пользователеем предела. Подсчитать так же количество просуммирванг
1. ввод чисел и суммирование их до тех пор пока сумма не превысит некоторого заданного...

Увеличивать n в 10 раз до тех пор, пока D не станет меньше заданного F
нужно увеличивать n в 10 раз до тех пор, пока D не станет меньше заданного F D = (8 * n - 10) /...

Прибавлять число к самому себе до тех пор пока оно не станет больше 20
Прибавлять число к самому себе до тех пор пока оно не станет больше 20. Использовать цикл while.

Вычисление суммы натуральных чисел до тех пор, пока сумма не превысит заданного с клавиатуры числа
Вычисление суммы натуральных чисел до тех пор, пока сумма не превысит заданного с клавиатуры числа

Увеличивать введенное число в два раза до тех пор, пока оно не станет больше 1000
1 задача:Ввести число a(0<a<10).Увеличивать его в два раза до тех пор,пока оно не станет больше...


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

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