Linux за българи: Форуми

Хумор, сатира и забава => Кошче => Темата е започната от: ntrance в Nov 26, 2009, 18:43



Титла: На колко е равно
Публикувано от: ntrance в Nov 26, 2009, 18:43
16+8*2-(3+5)-7+5+3*0 == ??? Ей тия измекяри го изкараха над 2021 резултата.  Незнам как става номера :Д

root@gдасдсада:~# perl -e "print 16+8*2-(3+5)-7+5+3*0";echo
22
Или аз греша или  и перл греши или една тв игра греши , кой е прав ?

И си мисля че perl  си смята много правилно давам пример
root@gdsadasd:~# perl -e  "print 2*2+2"; echo $i
6


Титла: Re: На колко е равно
Публикувано от: b2l в Nov 26, 2009, 18:48
22


Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 26, 2009, 18:53
22

Да но казаха че не е правилен   отговор  , първо го сметнах на ръка после се усъмних в мойте знания където ги имам по математика и  perl ми направи заключението


Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 26, 2009, 18:54
Грешка :(


Титла: Re: На колко е равно
Публикувано от: go_fire в Nov 26, 2009, 19:29
Ако звездичките означават умножение, значи е нула, всичко умножено по нула е нула.


Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 26, 2009, 19:34
Ако звездичките означават умножение, значи е нула, всичко умножено по нула е нула.

Е не  :) той на 3*0 се мята първо :) за това не е нула


Титла: Re: На колко е равно
Публикувано от: luda_glawa в Nov 26, 2009, 20:21
16+8*2-(3+5)-7+5+3*0 == ??? Ей тия измекяри го изкараха над 2021 резултата.  Незнам как става номера :Д

root@gдасдсада:~# perl -e "print 16+8*2-(3+5)-7+5+3*0";echo
22
Или аз греша или  и перл греши или една тв игра греши , кой е прав ?

И си мисля че perl  си смята много правилно давам пример
root@gdsadasd:~# perl -e  "print 2*2+2"; echo $i
6


22 си е. А този, който ти е казал, че не е - го върни в първи клас ;)



Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 26, 2009, 20:29
Hahah  По Probg  една игра случайно :) я загледах само да намеря предаването ще го пусна  на gospodari na efira :)


Титла: Re: На колко е равно
Публикувано от: vstoykov в Nov 26, 2009, 22:17
Според калкулатора ми:

Код:
valentin@darkstar:~$ calc "16+8*2-(3+5)-7+5+3*0"
22
valentin@darkstar:~$

Калкулаторът разбира се е написан на Perl:

Код:
valentin@darkstar:~$ cat bin/calc
#!/usr/bin/perl
use POSIX;

#
# The ultimate command line calculator :-^
# Usage calcme <string_to_calculate> [<output_format>]
#

# Input is a string like (10+3)/7 or "(10 + 3) / 7"
# Output is the calculated result of the string (sic!).
# Optional formatting can supplied as 2nd parameter.

if (@ARGV == 0 || @ARGV > 2)
{
   die("Usage: $0 <\"formula_to_calculate\"> [<output_format>]\n");
}

$format = "";
$calcme = $ARGV[0];
(@ARGV == 2) && ($format = $ARGV[1]);

$output = eval($calcme);

if(@ARGV == 1)
{
   print(STDOUT "$output\n");
}
else
{
   printf(STDOUT "$format\n", $output);
}
exit(0);
valentin@darkstar:~$     

Като го сметна с мозъка си излиза същото:
Код:
16+8*2-(3+5)-7+5+3*0
16+16-8-7+5
32-8-7+5
24-7+5
17+5
22

Когато въведа "16+8*2-8-7+5+3*0" в обикновен китайски калкулатор резултатът е нула, но в KCalc е 22 :)


Титла: Re: На колко е равно
Публикувано от: Slevin_ в Nov 26, 2009, 22:38
Равно е на GOOGLE ($2)  ;D


Титла: Re: На колко е равно
Публикувано от: b2l в Nov 26, 2009, 22:42
Да но GOOGLE ($2) понякога лъже  :D :D :D :D


Титла: Re: На колко е равно
Публикувано от: m0rph в Nov 26, 2009, 23:03
Пичовете в тези игри понякога забутват в условието двусмислени думи. Като нищо този - всъщност може да е тире. И тези скоби нещо играят който са сложили иначе нямаше да ги има. Сега не ми се мисли много (имам да правя курсов проект), но най-вероятно условието не е било резултата от тези действия а нещо друго...


Титла: Re: На колко е равно
Публикувано от: romeo_ninov в Nov 26, 2009, 23:23
Да но GOOGLE ($2) понякога лъже  :D :D :D :D
Да си чувал някога за машинна нула?


Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 26, 2009, 23:53
Пичовете в тези игри понякога забутват в условието двусмислени думи. Като нищо този - всъщност може да е тире. И тези скоби нещо играят който са сложили иначе нямаше да ги има. Сега не ми се мисли много (имам да правя курсов проект), но най-вероятно условието не е било резултата от тези действия а нещо друго...

Да добра мисъл :) може и да е така ... Ае както и да е


Титла: Re: На колко е равно
Публикувано от: gat3way в Nov 27, 2009, 00:59
Тоя казус не е толкова интересен, защото си има прост еднозначен отговор.

Малко по-забавно е примерно това:

12/3*4 = ?

Колко е отговора? 1 или 16?


Титла: Re: На колко е равно
Публикувано от: Ivshti в Nov 27, 2009, 01:10
1 - при деление и умножение винаги се действа от ляво на дясно.


Титла: Re: На колко е равно
Публикувано от: gat3way в Nov 27, 2009, 01:22
Прав си, но все пак тогава отговорът е 16=4*4



Титла: Re: На колко е равно
Публикувано от: m0rph в Nov 27, 2009, 01:24
А аз го знам, че умножението винаги е с по-голям приоритет от делението.... пример - 3*4/12 . Или 1 или 0.999999


Титла: Re: На колко е равно
Публикувано от: gat3way в Nov 27, 2009, 01:37
Цитат
А аз го знам, че умножението винаги е с по-голям приоритет от делението.... пример - 3*4/12 . Или 1 или 0.999999

0.999999... идва оттам че закръгляваш числата. 0.3333333333 примерно не е равно на рационалното число 1/3.

И не, еднакъв им е приоритета, просто асоциативността е от ляво на дясно.

P.S ама като се замисля, с оглед закръглянето е по-вероятно погрешно да решиш, че отговорът е 1.000.....0001, а не 0.99999999.....

В крайна сметка откъде идва това 0.999999999...?


Титла: Re: На колко е равно
Публикувано от: m0rph в Nov 27, 2009, 01:50
Ами единият вариант е 3*4=12 и тогава делиш на 12 и става 1. Другият е обратния 4/12 и късното време и цял ден смятане на електрически клонове на село и скромната ми елка показа че 4/12=0.3333333 и като го умножим по 3 става...


Титла: Re: На колко е равно
Публикувано от: kill_u в Nov 27, 2009, 04:12
Умножението винаги се прави първо. Ако имате скоби се извършва първо действието в скобите и тогава.
И на мен отговора на първата задача ми е 22 с китайски Casio FX-991MS


Титла: Re: На колко е равно
Публикувано от: romeo_ninov в Nov 27, 2009, 07:07
А аз го знам, че умножението винаги е с по-голям приоритет от делението.... пример - 3*4/12 . Или 1 или 0.999999
Не, умножението и делението са с еднакъв приоритет (в математиката) и решението е следното 12/3*4=4*4=16
Това че някои езици дефинират свои правила не променя математиката!
http://en.wikipedia.org/wiki/Order_of_operations
Умножението винаги се прави първо. Ако имате скоби се извършва първо действието в скобите и тогава.
И на мен отговора на първата задача ми е 22 с китайски Casio FX-991MS
Калкулаторите използват обратен полски запис и така се избягват скобите, така че преди да решаваш задачата трябва да я приведеш в такава форма



Титла: Re: На колко е равно
Публикувано от: neter в Nov 27, 2009, 09:02
Не, умножението и делението са с еднакъв приоритет (в математиката) и решението е следното 12/3*4=4*4=16
Точно така - имат еднакъв приоритет. Поради което, в задачата 3*4/12, е без значение кое от действията ще се извърши първо, тъй като 12/12 е равно на 3*0.3(3), дори и в безкрайността (3-ката в скобите означава "в период"). Периодичният отговор на 4/12 е обратно представяне на отговора на 12/4 - периодът изключва липсата, тъй като тя се попълва в безкрайността, а това, че в началото изглежда, че нещо липсва, е просто заблуда, поради неизписания период.
При задачата 12/3*4 отново имаме еднакви приоритети за умножението и делението, но ако задачата беше изписана двумерно - както се пишат по принцип, 12 трябва да е над 3, а не до него. Тогава задачата щеше да бъде изписана като 12*4 и под тях деление на 3, или дванадесет трети (12/3) *4. При плоско изписване на такъв тип задачи, делението между две числа (в случая 12/3) се приема за самостоятелно, групата от тези числа се счита за дроб, и това деление взема приоритет пред умножението, не защото по принцип има приоритет, а защото в случая не е просто деление, а представя дроб от две числа (12/3). За да бъде извършено първо умножението (за да се укаже, че знаменателят съдържа целия израз 3*4), трябва да се използват скоби, които имат по-висок приоритет от умножението и делението - 12/(3*4).

Отговорът на първата задача си е 22. Доколкото разбрах, отговорът 2021 е видян в някаква телевизионна игра. Не за първи път се виждат глупости по телевизията (пък и не само там) ;)


Титла: Re: На колко е равно
Публикувано от: romeo_ninov в Nov 27, 2009, 12:47
Не, умножението и делението са с еднакъв приоритет (в математиката) и решението е следното 12/3*4=4*4=16
...
При задачата 12/3*4 отново имаме еднакви приоритети за умножението и делението, но ако задачата беше изписана двумерно - както се пишат по принцип, 12 трябва да е над 3, а не до него. Тогава задачата щеше да бъде изписана като 12*4 и под тях деление на 3, или дванадесет трети (12/3) *4. При плоско изписване на такъв тип задачи, делението между две числа (в случая 12/3) се приема за самостоятелно, групата от тези числа се счита за дроб, и това деление взема приоритет пред умножението, не защото по принцип има приоритет, а защото в случая не е просто деление, а представя дроб от две числа (12/3). За да бъде извършено първо умножението (за да се укаже, че знаменателят съдържа целия израз 3*4), трябва да се използват скоби, които имат по-висок приоритет от умножението и делението - 12/(3*4).
Това са само разсъждения и предположения на тема и нямат нищо общо с математиката. В математиката приоритетите на операциите се променят със скоби. И при умножение и деление операциите се извършват от ляво на дясно. Опитай тази операция на език за програмиране, който спазва стриктно математическите правила като Фортран и тогава ще си говорим!


Титла: Re: На колко е равно
Публикувано от: kill_u в Nov 27, 2009, 13:24
Ромео, този калкулатор за който ти говоря работи със скоби. Така, че не са необходими превръщания.


Титла: Re: На колко е равно
Публикувано от: romeo_ninov в Nov 27, 2009, 14:01
Ромео, този калкулатор за който ти говоря работи със скоби. Така, че не са необходими превръщания.
Още по-хубаво, едно време ние се мъчихме със старите :)


Титла: Re: На колко е равно
Публикувано от: sdr в Nov 27, 2009, 14:05
Какъв перл какви пет стинки - те хората отдавна са измислили bc ;)


root@horas:/home/manoko# bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
16+8*2-(3+5)-7+5+3*0
22
root@horas:/home/manoko#     


Титла: Re: На колко е равно
Публикувано от: wardog в Nov 27, 2009, 14:21
Kакви калкулатори, какви езици? То това на ум се смята  ::)
А иначе автора видя ли в крайна смекта какъв е отговора и каква им е била логиката на хората в тия "така интересни" предавания?


Титла: Re: На колко е равно
Публикувано от: shoshon в Nov 27, 2009, 14:33
Кви калкулатори кви пет леа. Мале мале :'(
"(12/3) *4"
Това е правилният начин да се сметне. Ако някой го твърди обратно може да отиде да се прегледа.


Титла: Re: На колко е равно
Публикувано от: gat3way в Nov 27, 2009, 15:18
Добре, айде нещо още по-забавно:

3^2^3

На колко е равно това? Дали е 6561 или 729? :)



Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 27, 2009, 15:46
Добре, айде нещо още по-забавно:

3^2^3

На колко е равно това? Дали е 6561 или 729? :)

perl -e "print 3^2^3" ; echo ;
2

echo "3^2^3" |bc -l
6561

Шантава работа е тази математика


Титла: Re: На колко е равно
Публикувано от: Naka в Nov 27, 2009, 15:50
Малко по-забавно е примерно това:

12/3*4 = ?

Колко е отговора? 1 или 16?

Ами зависи колко голяма ти е чертата за деление.  ;D Ако си я нарисувал голяма отговорът е 1. А ако е малка така както е и тук отговорът е 16.

А колко е:
Код:
12/     3*4 = ?


Титла: Re: На колко е равно
Публикувано от: gat3way в Nov 27, 2009, 15:54
На perl трябва да бъде така:

$ perl -e "print 3**2**3" ; echo ;

Под "^" се разбира оператора за повдигане на степен, не побитово XOR.


Титла: Re: На колко е равно
Публикувано от: ntrance в Nov 27, 2009, 15:57
На perl трябва да бъде така:

$ perl -e "print 3**2**3" ; echo ;

Под "^" се разбира оператора за повдигане на степен, не побитово XOR.
A da ee... :D Правилно :Д такмо това гледах в google-to :D