Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Числото Пи?

Featured Replies

Здравейте колеги, имам една задача на C++, която трябва да изчислява числото Пи до примерно 5000 знак. Обаче имам един код, който ми изчислява до 55-тия знак и после фраска само 0... Бихте ли ми помогнали малко с откриването на решение на тази задачка? Благодаря предварително!
 

Capture.JPG

преди 3 минути, Just Human.. написа:

Здравейте колеги, имам една задача на C++, която трябва да изчислява числото Пи до примерно 5000 знак. Обаче имам един код, който ми изчислява до 55-тия знак и после фраска само 0... Бихте ли ми помогнали малко с откриването на решение на тази задачка? Благодаря предварително!
 

 

За многозначна математика ви трябва различен подход. Защото този тип има толкова значещи цифри :)

Можете да мислите за нещо от рода на всяка цифра от числото като елемент от масив

  • Автор
преди 1 час, greenclear написа:

Дефинирал си го като double. Поличаваш само точността на дъбъл...
 

Аз съм доста босичък по програмиране забравих да го отбележа.. Би ли ми казал как по-правилно да го дефинирам, благодаря!

Току що, Just Human.. написа:

Аз съм доста босичък по програмиране забравих да го отбележа.. Би ли ми казал как по-правилно да го дефинирам, благодаря!

Ще го напиша в (мой) псевдокод:
 

масив а[5000], b[5000], c[5000]

// сумиране

one=0

for i from 4999 to 0 step -1

	d=(int) a[i]+(int) b[i]+one

	c[i]=d%10

	one=(int)d/10

 

аналогично се прави изваждане, умножение, деление.....

  • Автор

Благодаря на всички за помощта приятели! Вече съм готов да се заемам със сериозната работа. :tongue2:

преди 3 часа, capnemo написа:

Ще го напиша в (мой) псевдокод:
 


масив а[5000], b[5000], c[5000]

// сумиране

one=0

for i from 4999 to 0 step -1

	d=(int) a[i]+(int) b[i]+one

	c[i]=d%10

	one=(int)d/10

 

аналогично се прави изваждане, умножение, деление.....

Нещата не са съвсем така, това е до 5000-та цифра ама реално след него има още числа от 0 до .99999.. като не ги вземем в предвид събирането/изваждането  може да получим грешка +/-1 в последната цифра, Зависи от броя на необходимите итерации, примерно ако ти трябват за да получиш резултата 10000 итерации ще трябва да се извършва натрупването с 1000 цифри повече в резерв за да са верни първите 5000 цифри. 

Редактирано от ined (преглед на промените)

Току що, ined написа:

Нещата не са съвсем така, това е до 5000-та цивра ама реално след него има още цисла от 0 до .99999.. като не ги вземем в предвид събирането/изваждането  може да получим грешка +/-1 в последната цифра, Зависи от броя на необходимите итерации, примерно ако ти трябват за да получиш резултата 10000 итерации ще трябва да се извършва натрупването с 1000 цифри повече в резерв за да са верни първите 5000 цифри. 

Доколкото имам спомени сметките са доста сходящи за Пи, така че даже и 10-20-50 числа в повече ще са достатъчни. Но си прав

преди 2 часа, capnemo написа:

Доколкото имам спомени сметките са доста сходящи за Пи, така че даже и 10-20-50 числа в повече ще са достатъчни. Но си прав

Някой друг алгоритъм може и да има добра сходимост но не и използвания - след един милиард итерации евентуално ще е стигнал само 8 цифра което не е много сигурно защото за толкова много итерации ще се е натрупала и голяма грешка.

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.