Форум программистов, компьютерный форум, киберфорум
F# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60

Задачи для новичков

16.11.2021, 12:06. Показов 5006. Ответов 13

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужна помощь со следующими заданиями:

1) Вывести натуральные числа из отрезка [1; x], кратные трем (нужно через рекурсию)

2) Составить список, в котором элементы в k раз больше номеров позиций, в которых они находятся (нумерацию элементов списка вести с 1)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2021, 12:06
Ответы с готовыми решениями:

Задачи для новичков
В связи с онлайн обучением есть несколько задач (очень не хватает времени на решение), прошу дать аналогичные либо похожие решения,...

Задачи для новичков
ВСем привет. У меня просьба. Вот сел я изучать шарп. Выучил базовые выражения, управляющие операторы. Хотелось бы в закрепление материалы...

Нужны интересные задачи для новичков
Учу C#. Пока пишу в консоли, решаю кое-какие задачки. Но фантазия, видимо, скудная у меня. Хотелось бы, чтоб тут кто-то предложил сейчас...

13
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
16.11.2021, 12:28
напишите, как вы пытались решить эти задачи? приведите пример кода и пояснения, с какими конкретно трудностями столкнулись? для их последующего анализа и исправления.
0
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60
16.11.2021, 12:38  [ТС]
я, к сожалению, пропустил первые лекции и практики и не понимаю ничего, кроме синтаксиса, и то не все. мне бы узнать как 1 задание сделать, там, думаю, и сам дойду до следующего.
0
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
16.11.2021, 12:59
первая задача решается через обычный фильтр, рекурсия здесь не нужна

let mulpitpe3 = [0...x].filter(where: { $0 %7 == 0 })
print(mupltiple3)

вторая задача решается при помощи функций indices/map
0
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60
16.11.2021, 13:44  [ТС]
zverjuga, а проще никак нельзя?
0
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
16.11.2021, 14:17
проще - это через многоэтажные циклы и рекурсию?
видимо, у нас разные понятия о простоте. для меня, чем меньше кода, тем проще. через map/filter/indices задача решается одной строкой кода, что может быть проще?
0
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60
16.11.2021, 15:39  [ТС]
zverjuga, ну я только начал изучать...
0
 Аватар для diadiavova
7254 / 2602 / 743
Регистрация: 11.04.2015
Сообщений: 4,137
Записей в блоге: 43
16.11.2021, 17:06
Лучший ответ Сообщение было отмечено vadimischee как решение

Решение

Цитата Сообщение от zverjuga Посмотреть сообщение
let mulpitpe3 = [0...x].filter(where: { $0 %7 == 0 })
А что это за синтаксис странный?
Цитата Сообщение от vadimischee Посмотреть сообщение
а проще никак нельзя?
Проще можно, если нужно получить такой список, то можно сделать так
F#
1
let takoyspisok = [3..3..x]
Только проблема в том, что если задали сделать через рекурсию, то использование такого решения не прокатит. Можно сделать так
F#
1
2
3
4
5
6
let threelist x =
    let rec tl top acc = 
        if top < 3
        then acc
        else tl (top - 3) (top::acc)
    tl (x - x % 3) []
И выводить список как-то так
F#
1
    threelist 13 |> printfn "%A"
1
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
16.11.2021, 17:25
Цитата Сообщение от diadiavova Посмотреть сообщение
А что это за синтаксис странный?
тьфу ты, я со swift перепутал. но суть такая же. и исправить на x % 3 = 0
0
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60
16.11.2021, 18:31  [ТС]
diadiavova,
Цитата Сообщение от diadiavova Посмотреть сообщение
let takoyspisok = [3..3..x]
, можете объяснить как данная запись работает?
0
 Аватар для diadiavova
7254 / 2602 / 743
Регистрация: 11.04.2015
Сообщений: 4,137
Записей в блоге: 43
16.11.2021, 19:30
Цитата Сообщение от vadimischee Посмотреть сообщение
можете объяснить как данная запись работает?
Это инициализация списка с помощью диапазона значений. В документации Списки - F# | Microsoft Docs есть пример с простым диапазоном, там шаг не задан
F#
1
let list1 = [ 1 .. 10 ]
В этой статье почему-то нет информации по диапазонам с шагом. Но зато есть тут Циклы: выражение for...in - F# | Microsoft Docs
В общем и целом все просто: создается список от 3 до x с шагом 3. Первое и посленднее значения - границы диапазона, среднее - шаг.
0
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60
16.11.2021, 20:04  [ТС]
diadiavova, извините, не могли бы вы помочь мне еще с одним заданием. я вроде как понимаю, как можно его сделать, но не выходит. Нужно определить, сколько раз встречается минимальный элемент в списке.

F#
1
let min a b = if a < b then a else b
это функция поиска минимального элемента

а вот что дальше делать - не понимаю.
0
 Аватар для diadiavova
7254 / 2602 / 743
Регистрация: 11.04.2015
Сообщений: 4,137
Записей в блоге: 43
16.11.2021, 22:08
Цитата Сообщение от vadimischee Посмотреть сообщение
Нужно определить, сколько раз встречается минимальный элемент в списке.
F#
1
let mincount l = List.countBy id l |> List.minBy (fun (a, _) -> a) |> snd
F#
1
mincount [1;2;3;4;5;1;4;1;5] |> printfn "%i"
Добавлено через 9 минут
Лучше так
F#
1
let mincount l = List.countBy id l |> List.minBy fst |> snd
Добавлено через 2 минуты
Или так
F#
1
let mincount = List.countBy id >> List.minBy fst >> snd
0
0 / 0 / 0
Регистрация: 02.10.2020
Сообщений: 60
17.11.2021, 08:19  [ТС]
diadiavova, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2021, 08:19
Помогаю со студенческими работами здесь

Какой бесплатный хостинг для сайтов подходит для новичков?
Мне нужно узнать какой бесплатный хостинг для сайтов подходит для новичков(просто разобраться при первом входе)

Не для новичков по C#
Задания не для новичка уж явно.., не могу сделать эти первые три задания? Ну вот 4-ую сделал, там я думаю любой сделает, даже без...

Задачи для новичков
Создайте страницу, на которой будет 1 поле ввода текста и две кнопки: +1 и *2 Напишите скрипт, который работает по следующему...

Задачи для новичков
Посоветуйте сайт или пособие,где находятся задачи по С++ и есть решения к ним.

Задачи для новичков
Создайте скрипт, который будет при клике на кнопку “ОК”, выводить указанное в поле ввода число смайликов на страницу.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Веб-автоматизация с Python и Selenium
AI_Generated 25.06.2025
Selenium с Python — это комбинация, которая выдержала проверку временем. Несмотря на появление новых инструментов вроде Playwright или Puppeteer, связка Python-Selenium остаётся золотым стандартом. . .
CQRS и Event Sourcing на C#
ArchitectMsa 25.06.2025
За последние несколько лет сложность корпоративных приложений выросла в геометрической прогрессии. Простые монолитные системы уступили место распределенным микросервисам, а нагрузка на корпоративные. . .
Хак домофона или как открыть дверь по номеру
yariko 25.06.2025
Забыли дома ключ. Не проблема. Можно открыть дверь домофона, просто позвонив на свой номер квартиры. Идея состоит в следующем. Внутрь трубки абонента встраивается контроллер, который по звонку сам. . .
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »