პიის აღმოჩენა. სივრცეები განსხვავებული რიცხვით pi. საინტერესო მონაცემები Pi-ს ციფრების განაწილების შესახებ

რიცხვი π გვიჩვენებს, რამდენჯერ აღემატება წრის გარშემოწერილობა მის დიამეტრს. არ აქვს მნიშვნელობა რა ზომის წრეა - როგორც მინიმუმ 4 ათასი წლის წინ შენიშნეს, თანაფარდობა ყოველთვის იგივე რჩება. ერთადერთი საკითხია, რას უდრის.

მისი დაახლოებით გამოსათვლელად საკმარისია ჩვეულებრივი ძაფი. ბერძენი არქიმედე ძვ.წ III საუკუნეში. გამოიყენა უფრო ეშმაკური მეთოდი. მან დახატა რეგულარული მრავალკუთხედები წრის შიგნით და გარეთ. მრავალკუთხედების გვერდების სიგრძის მიმატებით, არქიმედესმა უფრო და უფრო ზუსტად განსაზღვრა ჩანგალი, რომელშიც არის რიცხვი π და მიხვდა, რომ ის დაახლოებით უდრის 3,14-ს.

მრავალკუთხედის მეთოდი გამოიყენებოდა არქიმედეს შემდეგ თითქმის 2 ათასი წლის განმავლობაში, რამაც შესაძლებელი გახადა 38-ე ათწილადის რიცხვის მნიშვნელობის გარკვევა. კიდევ ერთი ან ორი ნიშანი - და შეგიძლია ატომური სიზუსტითგამოთვალეთ სამყაროს მსგავსი დიამეტრის წრეწირი.

მიუხედავად იმისა, რომ ზოგიერთი მეცნიერი იყენებდა გეომეტრიულ მეთოდს, სხვები მიხვდნენ, რომ რიცხვი π შეიძლება გამოითვალოს სხვა რიცხვების მიმატებით, გამოკლებით, გაყოფით ან გამრავლებით. ამის წყალობით, "კუდი" გაიზარდა რამდენიმე ასეულ ათწილადამდე.

პირველი კომპიუტერების და განსაკუთრებით თანამედროვე კომპიუტერების მოსვლასთან ერთად, სიზუსტე გაიზარდა სიდიდის ბრძანებით - 2016 წელს შვეიცარიელმა პიტერ ტრუბმა განსაზღვრა π რიცხვის მნიშვნელობა. 22,4 ტრილიონამდე ათობითი ადგილი. თუ ამ შედეგს დაბეჭდავთ ნორმალური სიგანის 14-პუნქტიან ხაზში, ჩანაწერი ოდნავ უფრო მოკლე იქნება ვიდრე საშუალო მანძილი დედამიწიდან ვენერამდე.

პრინციპში, არაფერი გვიშლის ხელს კიდევ უფრო დიდი სიზუსტის მიღწევაში, მაგრამ მეცნიერული გამოთვლებისთვის ამის საჭიროება დიდი ხნის განმავლობაში არ არის - გარდა კომპიუტერების ტესტირების, ალგორითმებისა და მათემატიკაში კვლევისა. და ბევრი რამ არის შესასწავლი. ყველაფერი არ არის ცნობილი თვით π რიცხვის შესახებაც კი. დადასტურებულია რომ იგი იწერება როგორც უსასრულო არაპერიოდული წილადიანუ, ათწილადის შემდეგ რიცხვების შეზღუდვა არ არსებობს და ისინი არ აგროვებენ განმეორებით ბლოკებს. მაგრამ გაურკვეველია, ჩნდება თუ არა რიცხვები და მათი კომბინაციები იმავე სიხშირით. როგორც ჩანს, ეს მართალია, მაგრამ ჯერ არავის მოუწოდებია მკაცრი მტკიცებულება.

შემდგომი გამოთვლები ტარდება ძირითადად სპორტისთვის - და ამავე მიზეზით ადამიანები ცდილობენ დაიმახსოვრონ რაც შეიძლება მეტი ციფრი ათობითი წერტილის შემდეგ. რეკორდი ინდოელ რაჯვირ მეენას ეკუთვნის, რომელიც 2015 წელს მან მეხსიერებიდან 70 ათასი პერსონაჟი დაასახელათითქმის ათი საათის განმავლობაში თვალდახუჭული იჯდა.

ალბათ, მის შედეგს რომ გადააჭარბო, განსაკუთრებული ნიჭია საჭირო. მაგრამ ყველას შეუძლია უბრალოდ გააოცოს თავისი მეგობრები კარგი მეხსიერებით. მთავარია გამოვიყენოთ ერთ-ერთი მნემონური ტექნიკა, რომელიც შემდეგ სხვა რამეში გამოდგება.

სტრუქტურის მონაცემები

ყველაზე აშკარა გზაა რიცხვის თანაბარ ბლოკებად დაყოფა. მაგალითად, თქვენ შეგიძლიათ წარმოიდგინოთ π, როგორც სატელეფონო წიგნი ათნიშნა რიცხვებით, ან შეგიძლიათ წარმოიდგინოთ, როგორც ლამაზი ისტორიის (და მომავლის) სახელმძღვანელო, რომელშიც მოცემულია წლები. ბევრი რამ არ გახსოვთ, მაგრამ რამდენიმე ათეული ათწილადი საკმარისია შთაბეჭდილების შესაქმნელად.

გადააქციე რიცხვი მოთხრობად

ითვლება, რომ რიცხვების დასამახსოვრებლად ყველაზე მოსახერხებელი გზა არის მოთხრობის მოფიქრება, სადაც ისინი შეესაბამება სიტყვების ასოების რაოდენობას (ლოგიკური იქნებოდა ნულის ჩანაცვლება ინტერვალით, მაგრამ შემდეგ სიტყვების უმეტესობა გაერთიანდება; ამის ნაცვლად, უმჯობესია გამოიყენოთ ათი ასოების სიტყვები). ფრაზა „შემიძლია მქონდეს ყავის მარცვლების დიდი პაკეტი?“ ეფუძნება ამ პრინციპს. ინგლისურად:

მაისი - 3,

აქვს - 4

დიდი - 5

კონტეინერი - 9

ყავა - 6

ლობიო - 5

რევოლუციამდელ რუსეთში მათ გამოიტანეს მსგავსი წინადადება: ”ვინც, ხუმრობით და მალე, სურს (ბ) პის იცოდეს ნომერი, მან უკვე იცის (b)”. სიზუსტე - მეათე ათწილადამდე: 3.1415926536. მაგრამ მეტის დამახსოვრება უფრო ადვილია თანამედროვე ვერსია: ”მას პატივს სცემენ და იქნება სამსახურში.” ასევე არის ლექსი: ”მე ვიცი ეს და მშვენივრად მახსოვს - კარგი, ბევრი ნიშანი ჩემთვის ზედმეტია, ამაოდ”. და საბჭოთა მათემატიკოსმა იაკოვ პერელმანმა შეადგინა მთელი მნემონიური დიალოგი:

რა ვიცი წრეების შესახებ? (3.1415)

ასე რომ, მე ვიცი ნომერი, რომელსაც ეწოდება პი - კარგად გააკეთე! (3.1415927)

ისწავლეთ და იცოდეთ რიცხვი ნომრის უკან, როგორ შეამჩნიოთ წარმატებები! (3.14159265359)

ამერიკელმა მათემატიკოსმა მაიკლ კიტმა მთელი წიგნიც კი დაწერა Not A Wake, რომლის ტექსტი შეიცავს ინფორმაციას რიცხვის π პირველი 10 ათასი ციფრის შესახებ.

შეცვალეთ რიცხვები ასოებით

ზოგიერთ ადამიანს უადვილდება შემთხვევითი ასოების დამახსოვრება, ვიდრე შემთხვევითი რიცხვები. ამ შემთხვევაში, რიცხვები იცვლება ანბანის პირველი ასოებით. პირველი სიტყვა მაიკლ კიტის მოთხრობის Cadaeic Cadenza-ს სათაურში ასე გაჩნდა. სულ 3835 ციფრი pi არის დაშიფრული ამ ნაშრომში - თუმცა, ისევე, როგორც წიგნში Not a Wake.

რუსულად, მსგავსი მიზნებისთვის, შეგიძლიათ გამოიყენოთ ასოები A-დან I-მდე (ეს უკანასკნელი შეესაბამება ნულს). რამდენად მოსახერხებელი იქნება მათგან დამზადებული კომბინაციების დამახსოვრება, ღია კითხვაა.

შექმენით სურათები რიცხვების კომბინაციისთვის

მართლაც შესანიშნავი შედეგების მისაღწევად, წინა მეთოდები არ იმუშავებს. ჩანაწერების მფლობელები იყენებენ ვიზუალიზაციის ტექნიკას: სურათები უფრო ადვილი დასამახსოვრებელია, ვიდრე რიცხვები. ჯერ თითოეული რიცხვი უნდა შეესაბამებოდეს თანხმოვან ასოს. გამოდის, რომ ყოველი ორნიშნა რიცხვი (00-დან 99-მდე) შეესაბამება ორ ასოს კომბინაციას.

ვთქვათ ერთი - ეს არის "n", ოთხები e - "r", pya ბ - "ტ". მაშინ რიცხვი 14 არის "nr", ხოლო 15 არის "nt". ახლა ამ წყვილებს უნდა დაემატოს სხვა ასოები სიტყვების შესაქმნელად, მაგალითად, " ა" და " და ბ". საერთო ჯამში, ასი სიტყვა დაგჭირდებათ - როგორც ჩანს, ბევრია, მაგრამ მათ უკან მხოლოდ ათი ასოა, ასე რომ არც ისე რთულია დამახსოვრება.

რიცხვი π გონებაში გამოჩნდება, როგორც გამოსახულების თანმიმდევრობა: სამი მთელი რიცხვი, ხვრელი, ძაფი და ა.შ. ამ თანმიმდევრობის უკეთ დასამახსოვრებლად, სურათები შეიძლება დახატოთ ან დაბეჭდოთ და თქვენს თვალწინ მოათავსოთ. ზოგიერთი ადამიანი უბრალოდ ათავსებს შესაბამის ნივთებს ოთახის გარშემო და ახსოვს ნომრები ინტერიერის დათვალიერებისას. ამ მეთოდის გამოყენებით რეგულარული ვარჯიში საშუალებას მოგცემთ დაიმახსოვროთ ასობით და თუნდაც ათასობით ათობითი ადგილი - ან ნებისმიერი სხვა ინფორმაცია, რადგან შეგიძლიათ ვიზუალურად წარმოიდგინოთ არა მხოლოდ რიცხვები.

მარატ კუზაევი, კრისტინა ნედკოვა

მათ აღნიშნეს კითხვა "რა მოხდებოდა სამყაროს პი 4 რომ ყოფილიყო?" გადავწყვიტე ცოტა მეფიქრა ამ თემაზე, გამოვიყენო გარკვეული (თუმცა არა ყველაზე ვრცელი) ცოდნა მათემატიკის შესაბამის მიმართულებებში. თუ ვინმეს აინტერესებს, გთხოვთ ნახოთ კატა.

ასეთი სამყაროს წარმოსადგენად, მათემატიკურად უნდა გააცნობიეროთ სივრცე, რომელსაც აქვს წრის გარშემოწერილობის განსხვავებული თანაფარდობა მის დიამეტრთან. ეს არის ის, რისი გაკეთებაც ვცადე.

მცდელობა No1.
მაშინვე ვთქვათ, რომ განვიხილავ მხოლოდ ორგანზომილებიან სივრცეებს. რატომ? რადგან წრე, ფაქტობრივად, ორგანზომილებიან სივრცეშია განსაზღვრული (თუ განზომილებას გავითვალისწინებთ n>2, მაშინ (n-1)-განზომილებიანი წრის შეფარდება მის რადიუსთან მუდმივიც კი არ იქნება) .
ასე რომ, დასაწყისისთვის, მე შევეცადე გამომეტანა სულ მცირე სივრცე, სადაც Pi არ არის 3.1415-ის ტოლი... ამისთვის ავიღე მეტრული სივრცე მეტრიკით, რომელშიც ორ წერტილს შორის მანძილი უდრის მაქსიმუმს. კოორდინატთა სხვაობის მოდულებს შორის (ანუ ჩებიშევის მანძილი).

რა ფორმა ექნება ერთეულ წრეს ამ სივრცეში? ავიღოთ წერტილი კოორდინატებით (0,0), როგორც ამ წრის ცენტრი. შემდეგ წერტილების სიმრავლე, მანძილი (მოცემული მეტრიკის გაგებით), საიდანაც ცენტრამდე არის 1, არის 4 სეგმენტი კოორდინატთა ღერძების პარალელურად, რომელიც ქმნის კვადრატს მე-2 გვერდით და ცენტრი ნულზე.

დიახ, რაღაც მეტრიკაში ეს არის წრე!

მოდით გამოვთვალოთ პი აქ. რადიუსი უდრის 1-ს, შემდეგ დიამეტრი, შესაბამისად, უდრის 2-ს. თქვენ ასევე შეგიძლიათ განიხილოთ დიამეტრის განმარტება, როგორც უდიდესი მანძილი ორ წერტილს შორის, მაგრამ ასეც რომ იყოს, ის უდრის 2-ს. რჩება სიგრძის პოვნა. ჩვენი "წრე" ამ მეტრიკაში. ეს არის ოთხივე სეგმენტის სიგრძის ჯამი, რომელსაც აქვს სიგრძე max(0,2)=2. ეს ნიშნავს, რომ გარშემოწერილობა არის 4*2=8. მაშინ პი აქ უდრის 8/2=4. იმუშავა! მაგრამ ძალიან ბედნიერები უნდა ვიყოთ? ეს შედეგი პრაქტიკულად უსარგებლოა, რადგან განსახილველი სივრცე აბსოლუტურად აბსტრაქტულია, მასში კუთხეები და მოხვევები არც კი არის განსაზღვრული. შეგიძლიათ წარმოიდგინოთ სამყარო, სადაც ბრუნვა რეალურად არ არის განსაზღვრული და სადაც წრე არის კვადრატი? ვეცადე, პატიოსნად, მაგრამ არ მქონდა საკმარისი ფანტაზია.

რადიუსი არის 1, მაგრამ არის გარკვეული სირთულეები ამ "წრის" სიგრძის პოვნაში. ინტერნეტში ინფორმაციის გარკვეული ძიების შემდეგ მივედი დასკვნამდე, რომ ფსევდოევკლიდეს სივრცეში ისეთი ცნება, როგორიც არის „პი“, საერთოდ არ შეიძლება განისაზღვროს, რაც რა თქმა უნდა ცუდია.

თუ ვინმე კომენტარებში მეტყვის, როგორ გამოვთვალო მრუდის სიგრძე ფსევდოევკლიდეს სივრცეში, ძალიან მოხარული ვიქნები, რადგან ჩემი ცოდნა დიფერენციალური გეომეტრიის, ტოპოლოგიის (ასევე გულმოდგინე გუგლინგის შესახებ) ამისთვის საკმარისი არ იყო.

დასკვნები:
არ ვიცი, შესაძლებელია თუ არა დასკვნების დაწერა ასეთი მოკლევადიანი კვლევების შემდეგ, მაგრამ რაღაცის თქმა შეიძლება. პირველ რიგში, როდესაც ვცადე სივრცის წარმოდგენა პი-ის სხვადასხვა რაოდენობით, მივხვდი, რომ ის ძალიან აბსტრაქტული იქნებოდა რეალური სამყაროს მოდელისთვის. მეორეც, როდესაც ცდილობთ უფრო წარმატებული მოდელის გამომუშავებას (ჩვენი რეალური სამყაროს მსგავსი), გამოდის, რომ რიცხვი Pi უცვლელი დარჩება. თუ ავიღებთ თავისთავად უარყოფითი კვადრატული მანძილის შესაძლებლობას (რაც ჩვეულებრივი ადამიანი- უბრალოდ აბსურდია), მაშინ პი საერთოდ არ იქნება განსაზღვრული! ეს ყველაფერი იმაზე მეტყველებს, რომ შესაძლოა სამყარო განსხვავებული Pi-ის მქონე ნომრით საერთოდ არ არსებობდეს? ტყუილად არ არის, რომ სამყარო ზუსტად ისეთია, როგორიც არის. ან იქნებ ეს რეალურია, მაგრამ ამისთვის ჩვეულებრივი მათემატიკა, ფიზიკა და ადამიანის ფანტაზია საკმარისი არ არის. რას ფიქრობთ?

განახლება.ზუსტად გავარკვიე. მრუდის სიგრძე ფსევდოევკლიდეს სივრცეში შეიძლება განისაზღვროს მხოლოდ მის ზოგიერთ ევკლიდეს ქვესივრცეში. ანუ, კერძოდ, N3 მცდელობისას მიღებული „წრიფისთვის“, ისეთი ცნება, როგორიცაა „სიგრძე“, საერთოდ არ არის განსაზღვრული. შესაბამისად, პიის გამოთვლაც იქაც შეუძლებელია.

რიცხვის „პი“-ს მნიშვნელობა, ისევე როგორც მისი სიმბოლიკა, ცნობილია მთელ მსოფლიოში. ეს ტერმინი აღნიშნავს ირაციონალურ რიცხვებს (ანუ, მათი მნიშვნელობა არ შეიძლება ზუსტად გამოისახოს წილადით y/x, სადაც y და x მთელი რიცხვებია) და ნასესხებია ძველი ბერძნული ფრაზეოლოგიიდან "პერეფერია", რომელიც რუსულად შეიძლება ითარგმნოს როგორც "წრე". ".
რიცხვი „პი“ მათემატიკაში აღნიშნავს წრის გარშემოწერილობის თანაფარდობას მისი დიამეტრის სიგრძესთან.რიცხვი „პი“-ს წარმოშობის ისტორია შორეულ წარსულში მიდის. ბევრი ისტორიკოსი ცდილობდა დაედგინა როდის და ვის მიერ გამოიგონეს ეს სიმბოლო, მაგრამ ვერასოდეს გაარკვიეს.

პიარის ტრანსცენდენტული რიცხვი, ანუ გამონათქვამი მარტივი სიტყვებითის არ შეიძლება იყოს მთელი რიცხვითი კოეფიციენტების მქონე მრავალწევრის ფესვი. ის შეიძლება დაინიშნოს როგორც რეალური რიცხვი ან როგორც არაპირდაპირი რიცხვი, რომელიც არ არის ალგებრული.

ნომერი "პი" არის 3.1415926535 8979323846 2643383279 5028841971 6939937510...


პიშესაძლოა არა მხოლოდ ირაციონალური რიცხვი, რომლის გამოხატვა შეუძლებელია რამდენიმე განსხვავებული რიცხვის გამოყენებით. რიცხვი "Pi" შეიძლება წარმოდგენილი იყოს გარკვეული ათობითი წილადით, რომელსაც აქვს უსასრულო რიცხვი ათობითი წერტილის შემდეგ. კიდევ ერთი საინტერესო წერტილი ის არის, რომ ყველა ეს რიცხვი არ შეიძლება განმეორდეს.

პიშეიძლება იყოს კორელაცია წილადის რიცხვთან 22/7, ეგრეთ წოდებული "სამმაგი ოქტავის" სიმბოლოსთან. ძველი ბერძენი მღვდლები იცოდნენ ეს რიცხვი. გარდა ამისა, ჩვეულებრივ მაცხოვრებლებსაც კი შეეძლოთ მისი გამოყენება ნებისმიერის გადასაჭრელად ყოველდღიური პრობლემებიდა ასევე გამოიყენება ისეთი რთული სტრუქტურების შესაქმნელად, როგორიცაა სამარხები.
მეცნიერისა და მკვლევარის ჰაიენსის თქმით, მსგავსი რიცხვი შეიძლება მოიძებნოს სტოუნჰენჯის ნანგრევებს შორის და ასევე ნაპოვნია მექსიკის პირამიდებში.

პითავის თხზულებაში აღნიშნულია იმდროინდელი ცნობილი ინჟინერი აჰმესი. იგი ცდილობდა გამოეთვალა რაც შეიძლება ზუსტად წრის დიამეტრის გაზომვით მის შიგნით დახატული კვადრატების გამოყენებით. ალბათ გარკვეული გაგებით ამ რიცხვს აქვს რაღაც მისტიკური, წმინდა მნიშვნელობა ძველთათვის.

პიარსებითად ყველაზე იდუმალი მათემატიკური სიმბოლოა. ის შეიძლება კლასიფიცირდეს როგორც დელტა, ომეგა და ა.შ. ის წარმოადგენს ურთიერთობას, რომელიც აღმოჩნდება ზუსტად იგივე, მიუხედავად იმისა, თუ სამყაროს რომელ წერტილში იქნება დამკვირვებელი. გარდა ამისა, იგი უცვლელი იქნება გაზომვის ობიექტისგან.

სავარაუდოდ, პირველი ადამიანი, რომელმაც გადაწყვიტა გამოთვალოს რიცხვი "Pi" გამოყენებით მათემატიკური მეთოდიარის არქიმედეს. მან გადაწყვიტა წრეში რეგულარული მრავალკუთხედების დახატვა. წრის დიამეტრის ერთად მიჩნევით, მეცნიერმა დანიშნა წრეში შედგენილი მრავალკუთხედის პერიმეტრი, ჩაწერილი მრავალკუთხედის პერიმეტრი ზედა შეფასებად და წრეწირის ქვედა შეფასებად.


რა არის რიცხვი "პი"

ახლახან არსებობს Pi-ს გამოთვლის ელეგანტური ფორმულა, რომელიც პირველად გამოქვეყნდა 1995 წელს დევიდ ბეილის, პიტერ ბორვეინის და საიმონ პლუფის მიერ:

როგორც ჩანს: რა არის ამაში განსაკუთრებული - არსებობს უამრავი ფორმულა Pi-ს გამოსათვლელად: სკოლის მონტე კარლოს მეთოდიდან გაუგებარ პუასონის ინტეგრალამდე და გვიანი შუა საუკუნეების ფრანსუა ვიეტას ფორმულებამდე. მაგრამ ეს არის ეს ფორმულა, რომელსაც განსაკუთრებული ყურადღება უნდა მიაქციოთ - ის საშუალებას გაძლევთ გამოთვალოთ n-ე ნიშანირიცხვები pi წინა პირების პოვნის გარეშე. ინფორმაციისთვის, თუ როგორ მუშაობს ეს, ასევე მზა კოდი C-ში, რომელიც ითვლის 1,000,000-ე ციფრს, გთხოვთ გამოიწეროთ.

როგორ მუშაობს Pi-ის N-ე ციფრის გამოთვლის ალგორითმი?
მაგალითად, თუ ჩვენ გვჭირდება Pi-ის მე-1000 თექვსმეტობითი ციფრი, ჩვენ ვამრავლებთ მთელ ფორმულას 16^1000-ზე, რითაც ვაქცევთ ფრჩხილების წინ მდებარე ფაქტორს 16^(1000-k). გაძლიერებისას ვიყენებთ ორობითი გაძლიერების ალგორითმს ან, როგორც ქვემოთ მოყვანილი მაგალითი გვიჩვენებს, მოდულის გაძლიერებას. ამის შემდეგ ვიანგარიშებთ სერიის რამდენიმე წევრის ჯამს. უფრო მეტიც, არ არის საჭირო ბევრის გამოთვლა: k-ის ზრდასთან ერთად 16^(N-k) სწრაფად მცირდება, ასე რომ შემდგომი ტერმინები არ იმოქმედებს საჭირო რიცხვების მნიშვნელობაზე). ეს ყველაფერი ჯადოსნურია - ბრწყინვალე და მარტივი.

Bailey-Borwine-Plouffe-ის ფორმულა აღმოაჩინა საიმონ პლუფმა PSLQ ალგორითმის გამოყენებით, რომელიც 2000 წელს მოხვდა საუკუნის ტოპ 10 ალგორითმის სიაში. თავად PSLQ ალგორითმი თავის მხრივ შეიქმნა ბეილის მიერ. აქ არის მექსიკური სერია მათემატიკოსების შესახებ.
სხვათა შორის, ალგორითმის მუშაობის დრო არის O(N), მეხსიერების გამოყენება არის O(log N), სადაც N არის სასურველი ნიშნის სერიული ნომერი.

მიმაჩნია, რომ მიზანშეწონილი იქნება ციტირება C-ში დაწერილი კოდი უშუალოდ ალგორითმის ავტორის, დევიდ ბეილის მიერ:

/* ეს პროგრამა ახორციელებს BBP ალგორითმს რამდენიმე თექვსმეტობითი ციფრის გენერირებისთვის, რომელიც იწყება მოცემული პოზიციის id-ის შემდეგ, ან სხვა სიტყვებით რომ ვთქვათ, იწყება პოზიციის id + 1-დან. უმეტეს სისტემაზე, რომელიც იყენებს IEEE 64-ბიტიან მცურავი წერტილის არითმეტიკას, ეს კოდი მუშაობს სწორად. რამდენადაც d არის დაახლოებით 1,18 x 10^7-ზე ნაკლები. თუ შესაძლებელია 80-ბიტიანი არითმეტიკის გამოყენება, ეს ზღვარი მნიშვნელოვნად მაღალია. როგორიც არ უნდა იყოს გამოყენებული არითმეტიკა, მოცემული პოზიციის id შედეგები შეიძლება შემოწმდეს id-1 ან id+1-ით გამეორებით და იმის დადასტურებით, რომ თექვსმეტობითი რიცხვები სრულყოფილად ემთხვევა ერთის ოფსეტს, გარდა რამდენიმე ციფრული რიცხვის. შედეგად მიღებული წილადები, როგორც წესი, ზუსტია მინიმუმ 11 ათობითი ციფრით და მინიმუმ 9 თექვსმეტობით. */ /* David H. Bailey 2006-09-08 */ #include #შეიცავს int main() ( ორმაგი pid, s1, s2, s3, s4; ორმაგი სერია (int m, int n); void ihex (ორმაგი x, int m, char c); int id = 1000000; #define NHX 16 char chx ; /* id არის ციფრული პუნქტი id-ის შემდეგ (1, id , id - s3 - s4; pid = pid - (int) pid + 1.; წილადი = %i\n); ) void ihex (ორმაგი x, int nhx, char chx) /* ეს აბრუნებს, chx, x-ის წილადის პირველ nhx ექვს ციფრებს. */ ( int i; ორმაგი y; char hx = "0123456789ABCDEF"; y = fabs (x); for (i = 0; i< nhx; i++){ y = 16. * (y - floor (y)); chx[i] = hx[(int) y]; } } double series (int m, int id) /* This routine evaluates the series sum_k 16^(id-k)/(8*k+m) using the modular exponentiation technique. */ { int k; double ak, eps, p, s, t; double expm (double x, double y); #define eps 1e-17 s = 0.; /* Sum the series up to id. */ for (k = 0; k < id; k++){ ak = 8 * k + m; p = id - k; t = expm (p, ak); s = s + t / ak; s = s - (int) s; } /* Compute a few terms where k >= ID. */ for (k = id; k<= id + 100; k++){ ak = 8 * k + m; t = pow (16., (double) (id - k)) / ak; if (t < eps) break; s = s + t; s = s - (int) s; } return s; } double expm (double p, double ak) /* expm = 16^p mod ak. This routine uses the left-to-right binary exponentiation scheme. */ { int i, j; double p1, pt, r; #define ntp 25 static double tp; static int tp1 = 0; /* If this is the first call to expm, fill the power of two table tp. */ if (tp1 == 0) { tp1 = 1; tp = 1.; for (i = 1; i < ntp; i++) tp[i] = 2. * tp; } if (ak == 1.) return 0.; /* Find the greatest power of two less than or equal to p. */ for (i = 0; i < ntp; i++) if (tp[i] >ჟ) შესვენება;<= i; j++){ if (p1 >pt = tp;
p1 = p;

თემის შესახებ მეტი ინფორმაცია შეგიძლიათ იხილოთ თავად დევიდ ბეილის სტატიაში, სადაც ის დეტალურად საუბრობს ალგორითმისა და მისი დანერგვის შესახებ (pdf);

და როგორც ჩანს, თქვენ ახლახან წაიკითხეთ პირველი რუსულენოვანი სტატია ამ ალგორითმის შესახებ RuNet-ზე - სხვა ვერ ვიპოვე.



სტატიები თემაზე