Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173

Формирование списка из заданного целого числа

13.01.2017, 20:35. Показов 3171. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо сформировать список из цифр целого числа а потом проверить содержатся ли в этом списке все цифры от 0 до 9

Я не знаю, у меня в голове бредовая на ваш взгляд идея сформировать бесконечный список и отфильтровать его по заданному числу - это его верхняя граница, потом поделить заданное число на все элементы этого списка, начиная с последнего и сформировать новый.

Почему-то filter не хочет работать с бесконечным списком - он нужен для обобщения всех возможных чисел по разрядности.

Haskell
1
arr k = filter (< k) [m^p | m <- [10, 10..], p <- [1..]]
k - заданное число

Добавлено через 6 минут
Потом можно было бы scanl использовать для конечного списка - но он дает числа с плавающей точкой. Как от этого избавиться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2017, 20:35
Ответы с готовыми решениями:

Определить количество элементов списка, значение которых больше заданного целого числа М
Ключами елементов списка - разные целые числа. Определить количество елементов списка, значение которых больше за заданое целое число М, и...

Определить являются ли числа делителями значения суммы первой и предпоследней цифры заданного целого четырехзначного числа
Даны целые числа m и n . Определить являются ли они делителями значения суммы первой и предпоследней цифры заданного целого...

Заданного целого трехзначного числа одинаковые числа
определить, есть ли среди цифр заданного целого трехзначного числа одинаковые

7
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
13.01.2017, 20:53
Haskell
1
f n = null $ ['0'..'9'] \\ show n
1
Модератор
 Аватар для Curry
5158 / 3485 / 536
Регистрация: 01.06.2013
Сообщений: 7,561
Записей в блоге: 9
13.01.2017, 20:58
Цитата Сообщение от SKY_SHY Посмотреть сообщение
сформировать список из цифр целого числа
"Читерское" решение
Haskell
1
task = map ((+) (-(ord '0')) . ord) . show
"Учебное" решение
Haskell
1
2
3
4
task 0 = [0]
task v = go v []
   where go 0 r = r
         go n r = let (d,m)= n `divMod` 10 in go d (m:r)
2
13.01.2017, 21:10

Не по теме:

SKY_SHY, скажите как художник художнику - зачем вам хаскель? :) Курс в вузе закончился, Москвин не помог, тривиальные вещи типа 2+2 сделать не можете...

0
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
13.01.2017, 21:10  [ТС]
Колодезный нырятель, поясните пожалуйста ваш `divMod` - это как отличается от divMod и go - это ваша функция?


Не по теме:

Курс еще не закончился, ещё следующий семестр. Да и в течении всего семестра у меня не было достаточно времени погрузиться и научиться делать тривиальные вещи. Экзамен я не сдам, видимо.

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
13.01.2017, 21:12
Haskell
1
2
3
4
5
6
7
8
9
10
11
-- Список цифр числа. Поскольку порядок не задан, цифры следуют в обратном порядке
 
digList :: Integer -> [Integer]
digList n | (n <= 9) = [n]
          | otherwise = (n `mod` 10) : digList (n `div` 10)
 
-- Проверка того, что есть все цифры от нуля до 9          
 
task :: Integer -> Bool
task n = foldr (\ p acc -> acc && (p `elem` w)) True [0..9]
         where w = digList n
0
Модератор
 Аватар для Curry
5158 / 3485 / 536
Регистрация: 01.06.2013
Сообщений: 7,561
Записей в блоге: 9
13.01.2017, 21:18
Цитата Сообщение от SKY_SHY Посмотреть сообщение
`divMod` - это как отличается от divMod
n `divMod` 10 то же что и divMod n 10
Цитата Сообщение от SKY_SHY Посмотреть сообщение
go - это ваша функция?
есть другие предположения?
1
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
13.01.2017, 21:21  [ТС]
n `divMod` 10 то же что и divMod n 10

А, ну да точно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2017, 21:21
Помогаю со студенческими работами здесь

Программа, которая находит все простые числа, которые могут быть созданы из цифр заданного целого числа
Помогите написать программу , которая находит все простые числа, которые могут быть созданы из цифр заданного целого числа. Пример: мы...

формирование строки из заданного числа
Написать программу, которая формируют строку из заданного количества случайных латинских букв (строчных). Например: пользователь вел...

Вычислить факториал заданного целого числа
Вычислить факториал заданного целого числа n!=1*2*3…n

Вычислить факториал заданного целого числа
Составить блок схему алгоритма и программу согласно условию задачи. Вычислить факториал заданного целого числа. Факториал числа N...

Для заданного целого числа n вычислить
Для заданного целого числа n вычислить \sum_{i=1}^{n}\frac{100}{{i}^{2}}+3*i Помогите с програмой пожалуй, зарание спасибо


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru