Задачки для разминки. (Простенькие такие...)

Модератор: Модераторы разделов

JelF
Сообщения: 62
ОС: Debian

Re: Задачки для разминки.

Сообщение JelF »

они шли с промежутком << 1 часа?
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачки для разминки.

Сообщение Женя Подсыпальников »

Да :)

Время (А2 - А1) = 1 час
Время (В2 - В1) = 1 час
Время (ВX - AX) < 1 час

Время теста - спонтанное :)
Пойдём на рыбалку !
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Задачки для разминки.

Сообщение JelF »

вопрос из этой-же серии: какова вероятность того, что я выгляну за окно и увижу 50 мужчин подряд.
Спасибо сказали:
astronom
Сообщения: 151
ОС: Debian

Re: Задачки для разминки.

Сообщение astronom »

Ну. либо увидишь, либо не увидишь ... иными словами, 50%.
:tongue:
Параллельные извилины не пересекаются ...
Спасибо сказали:
Аватара пользователя
fatboy
Сообщения: 156
ОС: Zenwalk Linux, Windows XP

Re: Задачки для разминки.

Сообщение fatboy »

JelF писал(а):
21.11.2008 23:27
вопрос из этой-же серии: какова вероятность того, что я выгляну за окно и увижу 50 мужчин подряд.

Упростим задачу. Тогда, предположим что "увиденный человек" - первый замеченный объект, опознанный как человек определенного пола. Также предположим что выглядывая в окно мы можем видеть одного человека, несколько человек или никого. Для данной задачи первые два события могут быть объеденины в одно - "видеть минимум одного человека". Однако нас также интересует пол увиденного человека, тогда имеет смысл определить следующие события:
1. Увидеть мужчину.
2. Увидеть женщину.
3. Не увидеть никого.
Предположим что все три события независимы, случайны и (пожалуй очевидно) взаимо исключающи. Теперь можно определить вероятность события (1) --- 1/3. Вероятность не увидеть мужчину --- 2/3. Так как задача представляет геометрическое распределение, вероятность увидеть 50 мужчин подряд равна вероятности увидеть первую женщину или не увидеть никого на 51-й попытке, и численно равна (1/3^50) * (2/3).
Zenwalk 4.0
TOSHIBA Satellite A100
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Задачки для разминки.

Сообщение JelF »

нет. у меня под окном эпизодически ходит 5 рот курсантов
Спасибо сказали:
bl00dl1nes
Сообщения: 115
ОС: ubuntu

Re: Задачки для разминки.

Сообщение bl00dl1nes »

JelF писал(а):
22.11.2008 17:57
нет. у меня под окном эпизодически ходит 5 рот курсантов

в то же время ты можешь выглянуть в то время, когда эти роты не проходят мимо, тогда будет вероятость, которую расчитал fatboy
Спасибо сказали:
Аватара пользователя
Atolstoy
Сообщения: 1654
Статус: Tux in the rain
ОС: Linux x86_64

Re: Задачки для разминки.

Сообщение Atolstoy »

Простая задачка: как известно, в каком-либо конкурсе побеждает тот, кто занимает 1-е место. Есть ли у этого правила исключения и если да, то какие?
(варианты про последнее место=первое не считаются)
Всего лишь 26 литров пива достаточно человеку для удовлетворения ежедневной потребности в кальции. Здоровое питание - это так просто!
http://atolstoy.wordpress.com
Спасибо сказали:
astronom
Сообщения: 151
ОС: Debian

Re: Задачки для разминки.

Сообщение astronom »

Занявшего первое место, дисквалифицировали за допинг. Победитель - участник, занявший второе место. :tongue:
Параллельные извилины не пересекаются ...
Спасибо сказали:
Аватара пользователя
Atolstoy
Сообщения: 1654
Статус: Tux in the rain
ОС: Linux x86_64

Re: Задачки для разминки.

Сообщение Atolstoy »

astronom писал(а):
04.12.2008 01:39
Занявшего первое место, дисквалифицировали за допинг. Победитель - участник, занявший второе место. :tongue:

Ловко, но неправильно :) Победитель должен быть полноценным победителем, без всяких обстоятельств, но при этом занять не первое место.
Всего лишь 26 литров пива достаточно человеку для удовлетворения ежедневной потребности в кальции. Здоровое питание - это так просто!
http://atolstoy.wordpress.com
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачки для разминки.

Сообщение Женя Подсыпальников »

Володя Путин ? :rolleyes:

А, можа, место на кладбище ? :)
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Задачки для разминки.

Сообщение drBatty »

udjin писал(а):
18.11.2008 11:34
если только в 2 действия:
x=x+(x-y)
y=y+(y-x)
вы хотя-бы пишите, на каком это языке.
и что такое действия.
ИМХО - полный бред.
я вижу тут 4 арифметических действия, и 2 присваивания.
к тому-же x+(x-y) == 2*x-y
может

Код: Выделить всё

z = x-y;
x-=z;
y+=z;
в терминах С.
Так?
дык тут 3 действия и 3 присваивания...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Самый простой алгоритм вывести число наоборот, т.е. из 12345 получить 54321 :blush:
Какие у кого будут предложения?!
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачки для разминки.

Сообщение Женя Подсыпальников »

Можа, так ? :)

Код: Выделить всё

#define SWAP_CHAR(a,b) { char temp = a; a = b; b = temp; }

void Reflex(char* pszReflex)
{
  if (pszReflex) {
    int iLen = strlen(pszReflex);
    int iCount = iLen / 2;
    for (int i = 0; i < iCount; i++) {
      SWAP_CHAR(pszReflex[i], pszReflex[iLen - 1 - i]);
    }
  }
}
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Женя Подсыпальников писал(а):
17.12.2008 11:08
Можа, так ? :)

Не знаю, вы не проверяли?!
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачки для разминки.

Сообщение Женя Подсыпальников »

кодировщик писал(а):
17.12.2008 11:21
Женя Подсыпальников писал(а):
17.12.2008 11:08
Можа, так ? :)

Не знаю, вы не проверяли?!


Я думал, то была загадка, а это - отгадка... , не ? :)
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Женя Подсыпальников писал(а):
17.12.2008 11:24
кодировщик писал(а):
17.12.2008 11:21
Женя Подсыпальников писал(а):
17.12.2008 11:08
Можа, так ? :)

Не знаю, вы не проверяли?!


Я думал, то была загадка, а это - отгадка... , не ? :)

Не знаю, вы же писали код, вам и виднее правильно ли он работает или нет.
Вот мой вариант.

Код: Выделить всё

#include <stdio.h>
int main ()
{
int a,b;
printf("\nEnter a=\n");
scanf("%d",&a);
b=0;
if(a<0) a=-a;
while(a!=0)
{
b=a%10;
printf("%d",b);
a=a/10;
}
printf("\n");
return 0;
}

Вроде работает.

Код: Выделить всё

Enter a=
1234567890
0987654321
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачки для разминки.

Сообщение Женя Подсыпальников »

О ! Зашибатый твой рецепт :) , мне нравится !

(Напомнило о преобразовании числа в слова Русского языка
(123505 - сто двацать три тыщи пятьсот пять рублей),
тока там с другой стороны начиналось :) )
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Все наверное миллион раз слышали про факториал числа, особенно с использованием
рекурсии. Кто что предложит?!
Спасибо сказали:
Аватара пользователя
Женя Подсыпальников
Сообщения: 482

Re: Задачки для разминки.

Сообщение Женя Подсыпальников »

Код: Выделить всё

unsigned int factorial(unsigned int uiFactorial)
{
  unsigned int uiResult = 1;
  if (uiFactorial) {
    uiResult = uiFactorial * factorial(uiFactorial - 1);
  }
  return uiResult;
}


А как лехко сложить все целые от 0 до 100 "устно" ? :D
Пойдём на рыбалку !
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Женя Подсыпальников писал(а):
17.12.2008 12:14

Код: Выделить всё

unsigned int factorial(unsigned int uiFactorial)
{
  unsigned int uiResult = 1;
  if (uiFactorial) {
    uiResult = uiFactorial * factorial(uiFactorial - 1);
  }
  return uiResult;
}


А как лехко сложить все целые от 0 до 100 "устно" ? :D

По ходу работает.
Выкладываю свой вариант тогда уже без рекурсии.

Код: Выделить всё

#include <stdio.h>

int main(void)
{
long int i, n, summ;
printf("\n Enter n="); scanf("%d",&n);
summ=1;
if(n<0) n=-n;
for(i=1;i<n+1;i++)
summ=summ*i;
printf("\n Summa=%i",summ);
printf("\n");
return 0;
}
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Найти НОД т.е. наибольший общий делитель двух целых чисел.
Спасибо сказали:
Аватара пользователя
Subj
Сообщения: 151
Статус: Useful
ОС: win

Re: Задачки для разминки.

Сообщение Subj »

Женя Подсыпальников писал(а):
17.12.2008 12:14
А как лехко сложить все целые от 0 до 100 "устно" ? :D


101 х 50 = 5050
Building better software with Ada
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

а может кто-то знает как найти наименьший?! :console:
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Задачки для разминки.

Сообщение Portnov »

кодировщик писал(а):
17.12.2008 11:54
Все наверное миллион раз слышали про факториал числа, особенно с использованием
рекурсии. Кто что предложит?!

http://www.willamette.edu/~fruehr/haskell/evolution.html

кодировщик писал(а):
17.12.2008 20:43
а может кто-то знает как найти наименьший?! console.gif

Алгоритм Евклида?
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Portnov писал(а):
17.12.2008 20:53
кодировщик писал(а):
17.12.2008 11:54
Все наверное миллион раз слышали про факториал числа, особенно с использованием
рекурсии. Кто что предложит?!

http://www.willamette.edu/~fruehr/haskell/evolution.html

с факториалом разобрались, но хотел сказать что рекурсия не есть хорошо ИМХО.

Portnov писал(а):
17.12.2008 20:53
кодировщик писал(а):
17.12.2008 20:43
а может кто-то знает как найти наименьший?! console.gif

Алгоритм Евклида?

Наименьший?! :) Он всегда равен ОДИН.
А наибольший действительно алгоритм Евклида, совсем простой, что удивительно человек его нашел ещё за 300 лет
до н.э.
Спасибо сказали:
Аватара пользователя
ishitori
Сообщения: 502
ОС: gentoo -> archlinux

Re: Задачки для разминки.

Сообщение ishitori »

кодировщик писал(а):
17.12.2008 15:07
Найти НОД т.е. наибольший общий делитель двух целых чисел.


например, как-то так:

Код: Выделить всё

  ...
  for (int i = 2; i <= min; i++)
    if (min % i == 0 && max % i == 0)
      nod = i;
  ...


upd: блин. про евклида уже забыл.. надо было сначала гуглить )
морнинг круассан..
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Задачки для разминки.

Сообщение Portnov »

Ну там есть примеры и без рекурсии. И потом: 'Итерация свойственна человеку; Рекурсия же божественна' (с) Дейкстра, если не ошибаюсь.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
ishitori
Сообщения: 502
ОС: gentoo -> archlinux

Re: Задачки для разминки.

Сообщение ishitori »

хм.. рекурсия - зло. но код, конечно, выглядит очень красиво )
морнинг круассан..
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: Задачки для разминки.

Сообщение кодировщик »

Portnov писал(а):
17.12.2008 21:21
Ну там есть примеры и без рекурсии. И потом: 'Итерация свойственна человеку; Рекурсия же божественна' (с) Дейкстра, если не ошибаюсь.

Ну мы тоже сделали с рекурсией и без неё.
2ishitori примерно не так.
Спасибо сказали: