Автор Тема: Решаем задачки. :)  (Прочитано 102981 раз)

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Решаем задачки. :)
« Ответ #75 : Октябрь 03, 2011, 11:11:07 am »
Ну да, с другой стороны, если этого не делать а просто мм пукать в холостую  - можно  обосраться .  :)
Вы лучше приведите решения этих задачек на каком-нить интересном языке.
На APL там, или на форте, или какой там у Вас любимый на этой неделе? ;D
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #76 : Октябрь 03, 2011, 11:20:39 am »
Вы лучше приведите решения этих задачек на каком-нить интересном языке.
На APL там, или на форте, или какой там у Вас любимый на этой неделе? ;D
Я вас разочарую - у меня на этой неделе и (пока не сделаю) wingui для gulp'a так что - попсовое делфи, и только делфи... ибо незачем умножать проблемы без необходимости.  :) И потом, я же на "крутость" в вашем понимании не претендую  :D  ибо не хочу отбирать хлеб ваш (или потому что - не крут  :D, хотя бы в сравнении с Петром  Алмазовым ибо затрудняюсь увидеть элементы интерьера квартиры в решениях Kemiisto, правда  я не все их смотрел). А вот разговор о задачках для начинающих в контексте обучения мне интересен.
« Последнее редактирование: Октябрь 03, 2011, 11:40:51 am от DIzer »

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Решаем задачки. :)
« Ответ #77 : Октябрь 03, 2011, 12:47:37 pm »
Формулировки задач действительно весьма не четкие.

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

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Решаем задачки. :)
« Ответ #78 : Октябрь 10, 2011, 04:10:12 pm »
И снова задача 8 ))

Даны x, y, z -- произвольные члены арифметической прогрессии, упорядоченные по возрастанию (шаг прогрессии считаем положительным).

Надо определить максимально возможный шаг этой прогрессии.

Учитывая, что:

http://ru.wikipedia.org/wiki/Арифметическая_прогрессия

Любой член прогрессии может быть вычислен по формуле общего члена:
    an = a1 + (n - 1) * d для всех n >= 1

вычисляем d:

x = a1
y = a1 + k*d
z = a1 + m*d

k = (y - x)/d
m = (z - x)/d

Как видно, d является общим делителем разностей (y - x) и (z - x).
По условиям задачи требуется найти наибольшее значение d, это значит, что нужно найти наибольший общий делитель (y - x) и (z - x).

module Ex_8b where

import Data.List

main = do
    str <- getLine
    let x:y:z:_ = sort $ map read $ words str
    if x == z then
        putStrLn "Прогрессия вырожденная, шаг = 0"
    else if x == y || y == z then
        putStrLn "Прогрессия отсутствует"
    else
        let d = gcd (y - x) (z - x) in
        putStrLn $ "Прогрессия с шагом = " ++ show d
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

kemiisto

  • Jr. Member
  • **
  • Сообщений: 64
    • Просмотр профиля
    • kemiisto.ru
Re: Решаем задачки. :)
« Ответ #79 : Октябрь 16, 2011, 08:21:34 pm »
Ну ладно по делу - шестую задачу  я бы автору(решения) не зачел . Какого фига он исключил возможность равенства значения в L одному из введенных ранее значений (a,b,c,d)
А где я исключил такую возможность? ???

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #80 : Октябрь 16, 2011, 08:32:33 pm »
Ну ладно по делу - шестую задачу  я бы автору(решения) не зачел . Какого фига он исключил возможность равенства значения в L одному из введенных ранее значений (a,b,c,d)
А где я исключил такую возможность? ???
Пусть на входе последовательность 1 2 3 4 1 - что выдаст ваша программа?

kemiisto

  • Jr. Member
  • **
  • Сообщений: 64
    • Просмотр профиля
    • kemiisto.ru
Re: Решаем задачки. :)
« Ответ #81 : Октябрь 16, 2011, 08:42:44 pm »
Пусть на входе последовательность 1 2 3 4 1 - что выдаст ваша программа?
1 выдаст. Нумерация с нуля. То есть 1 встанет между 1 и 2.

P.S. Надо, кстати, сделать, чтоб нумерация в выдаче с 1 начиналась. Человеку - человеческое! :)

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #82 : Октябрь 16, 2011, 09:06:52 pm »
Пусть на входе последовательность 1 2 3 4 1 - что выдаст ваша программа?
1 выдаст. Нумерация с нуля. То есть 1 встанет между 1 и 2.

P.S. Надо, кстати, сделать, чтоб нумерация в выдаче с 1 начиналась. Человеку - человеческое! :)

1. А почему не 0?
2. А вот этот момент оговаривался 'бесчеловечным' автором в условии этой задачи.   
« Последнее редактирование: Октябрь 16, 2011, 09:09:41 pm от DIzer »

kemiisto

  • Jr. Member
  • **
  • Сообщений: 64
    • Просмотр профиля
    • kemiisto.ru
Re: Решаем задачки. :)
« Ответ #83 : Октябрь 16, 2011, 09:29:02 pm »
1. А почему не 0?
2. А вот этот момент оговаривался 'бесчеловечным' автором в условии этой задачи.
1. Ну я про это и писал. Поведение в этом случае не описано. Так что почему бы и не 1.
2. Да? Разве что "положение"... Но ведь положение тоже по-разному можно описать. Можно индексом (номером) при какой-то принятой нумерации, а можно указать его позицию с начала (первый, второй, ...).

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #84 : Октябрь 16, 2011, 09:37:44 pm »
1. А почему не 0?
2. А вот этот момент оговаривался 'бесчеловечным' автором в условии этой задачи.
1. Ну я про это и писал. Поведение в этом случае не описано. Так что почему бы и не 1.
2. Да? Разве что "положение"... Но ведь положение тоже по-разному можно описать. Можно индексом (номером) при какой-то принятой нумерации, а можно указать его позицию с начала (первый, второй, ...).
1. Я вам говорю про другое -если задача нечетко описана Вы ДОЛЖНЫ  наложить дополнительные условия в явном виде - их отсутствие (не ваш выбор) я считаю ошибкой.  В этой задаче этот вопрос не существенен (я говорю про решение) , но в 8 задаче -  подобный подход привел к ошибке. (ваше первое решение задачи 8 при определенных обстоятельствах я  бы не счел ошибочным).
2.Он ( В. Потопахин) специально оговорил этот момент, не вижу смысла обсуждать его (момент,  да и автора то же) здесь
« Последнее редактирование: Октябрь 16, 2011, 09:45:20 pm от DIzer »

kemiisto

  • Jr. Member
  • **
  • Сообщений: 64
    • Просмотр профиля
    • kemiisto.ru
Re: Решаем задачки. :)
« Ответ #85 : Октябрь 16, 2011, 09:45:59 pm »
1. Я вам говорю про другое -если задача нечетко описана Вы ДОЛЖНЫ  наложить дополнительные условия в явном виде - их отсутствие я считаю ошибкой.  В этой задаче этот вопрос не существенен (я говорю про решение) , но в 8 задаче -  подобный подход привел к ошибке. (ваше первое решение задачи 8 при определенных обстоятельствах я  бы не счел ошибочным).
2.Он ( В. Потопахин) специально оговорил этот момент, не вижу смысла обсуждать его (момент,  да и автора то же) здесь
1. Ну сейчас добавим.
2. Не знаю. Единственный момент - с.8. Но там так "обговорено", что лучше бы уж промолчать. :D

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #86 : Октябрь 16, 2011, 09:49:03 pm »
1. Я вам говорю про другое -если задача нечетко описана Вы ДОЛЖНЫ  наложить дополнительные условия в явном виде - их отсутствие я считаю ошибкой.  В этой задаче этот вопрос не существенен (я говорю про решение) , но в 8 задаче -  подобный подход привел к ошибке. (ваше первое решение задачи 8 при определенных обстоятельствах я  бы не счел ошибочным).
2.Он ( В. Потопахин) специально оговорил этот момент, не вижу смысла обсуждать его (момент,  да и автора то же) здесь
1. Ну сейчас добавим.
2. Не знаю. Единственный момент - с.8. Но там так "обговорено", что лучше бы уж промолчать. :D
Не понял, а " Нумерация элементов списка начинается с 0." разве не  слова В. Потопахина?

kemiisto

  • Jr. Member
  • **
  • Сообщений: 64
    • Просмотр профиля
    • kemiisto.ru
Re: Решаем задачки. :)
« Ответ #87 : Октябрь 16, 2011, 09:59:16 pm »
DIzer, нет, его там только Задание. Всё, начиная с входных данных - мои дописки.

P.S. Надо исправить в описании, что нумерация с 1.

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #88 : Октябрь 16, 2011, 10:37:03 pm »
DIzer, нет, его там только Задание. Всё, начиная с входных данных - мои дописки.

P.S. Надо исправить в описании, что нумерация с 1.

1. Жаль, а я уж было порадовался за  автора.  :(
2. На мой взгляд, лучше не искажать  авторские условия - а, скажем,  делать это в  комментариях   перед текстом модуля (в файле программы).
« Последнее редактирование: Октябрь 16, 2011, 10:38:57 pm от DIzer »

DIzer

  • Гость
Re: Решаем задачки. :)
« Ответ #89 : Февраль 24, 2012, 06:01:01 pm »
Цитировать
Задание
 Дано 3 целых числа. Проверить являются ли они членами геометрической прогрессии.

Входные данные
 Три целых числа.

Выходные данные
 Являются ли три числа членами геометрической прогресии.

Пояснение
 Здесь решить задачу в общем виде труднее, чем предыдущую. Рассмотрим один из простейших вариантов - проверить, являются ли числа подрядыдущими членами геометрической прогрессии. Будем считать, что числа положительны и упорядочены по возрастанию
  :) Ну прям аспирант,делающий доклад на заседании кафедры....   Если уж решаете упрощенный вариант задачи - так и говорите решаем задачу в предположении, что числа являются последовательными (подрядыдущими ) членами прогрессии, положительны и упорядочены по возрастанию - а то ведь я неумный преподаватель могу подумать , что речь идет "одном из простейших" вариантов решения ПОСТАВЛЕННОЙ задачи.
« Последнее редактирование: Февраль 24, 2012, 06:02:58 pm от DIzer »